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 个重复值。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部