Swift 程序移除字典中的重复元素


在 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("Original Dictionary:", myCityRank)
print("Modified New Dictionary:", resultantDict)

输出

Original Dictionary: ["Pune": 2, "Goa": 3, "Jaipur": 2, "Kolkata": 18, "Delhi": 10]
Modified New Dictionary: ["Delhi": 10, "Goa": 3, "Pune": 2, "Kolkata": 18]

结论

因此,这就是我们如何从字典中移除重复元素的方法。众所周知,字典仅包含重复的值。因此,我们保留重复值的第一次出现,并移除重复元素的结果。例如,我们有 3 个重复的值,因此我们将第一个值保存在结果字典中,并移除其余 2 个重复的值。

更新于: 2023年5月9日

694 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.