Swift 程序如何从字典中删除重复元素
swiftserver side programmingprogramming更新于 2025/9/21 4:07:17
在 Swift 字典中,键不能重复,但值可以重复,因此本文将删除字典中的重复值。为此,我们使用 contains() 函数。该函数检查字典中是否包含重复值。如果字典包含重复值,则会将其从结果字典中删除。
语法
dict.values.contains(val)
此处,dict 是结果字典,我们将在其中存储唯一的键值对,并且 contains() 函数会将两个值相互比较。
算法
步骤 1 − 创建一个名为 myCityRank 的字典,其中包含键值对。
步骤 2 − 创建一个名为 resultantDict 的空字典来存储结果。
步骤 3 − 运行 for-in 循环,遍历 myCityRank 的键值对字典。
步骤 4 - 现在检查重复值,并仅存储结果字典中唯一的键值对。
步骤 5 - 打印输出。
示例
在下面的 Swift 程序中,我们将从字典中删除重复元素。为此,我们将创建两个字典,一个包含键值对,另一个为空。然后,对 myCityRank 中存在的每个键值对运行 for-in 循环。对于每一对,我们使用 contains 方法检查结果字典中是否存在该值。如果不存在该值,我们将把该键值对添加到结果字典中并显示结果。
import Foundation
import Glibc
var myCityRank = ["Delhi": 10, "Goa": 3, "Pune": 2, "Jaipur": 2, "Kolkata": 18]
var resultantDict = [String:Int]()
for(key, value) in myCityRank {
if !resultantDict.values.contains(value) {
resultantDict[key] = value
}
}
print("原始词典:", myCityRank)
print("修改后的新词典:", resultantDict)
输出
原始词典:["Pune": 2, "Goa": 3, "Jaipur": 2, "Kolkata": 18, "Delhi": 10] 修改后的新词典:["Delhi": 10, "Goa": 3, "Pune": 2, "Kolkata": 18]
结论
这就是我们从字典中删除重复元素的方法。我们知道字典只包含重复值。因此,我们保留重复值的第一次出现,并删除重复元素的结果。例如,我们有 3 个重复值,因此我们将第一个值保存在结果词典中,并删除其余 2 个重复值。