swift - 从两个字典中删除不重复的键
问题描述
我在 Swift 中有两个字典,它们在动态模式下几乎没有相似的值:
dict1 = ["a1":"value 1", "b1":"value2", "c1":"value 3"]
dict2 = ["b1": "value2", "d1": "value4"]
如果我想比较这两个字典并且只想提取甚至嵌套的匹配键,我该怎么做呢?
解决方案
如果您想要其中一个具有值的公用键:
let intersectionDict = dict1.filter { dict2.keys.contains($0.key) }
//Or
let intersectionDict2 = dict2.filter { dict1.keys.contains($0.key) }
如果您希望值也匹配:
let intersectionDict3 = dict1.filter { dict2[$0.key] == $0.value }
结果是:
print(intersectionDict3) //["b1": "value2"]
推荐阅读
- google-sheets - 谷歌数据工作室中的文本字段未解析为日期
- python - 在多个坐标处打开图像 Python 3.9
- winapi - CreatePropertySheetPage 本地化优先考虑中性语言
- amazon-web-services - AWS Elastic Beanstalk 工作人员作业
- terraform - terraform import:如何避免在自动脚本中重新导入时出错
- r - 如何翻转 ggplot2 图表上的趋势线模式?
- python - 使用 Python 的 parsec.py 库进行递归解析
- python - 为什么我的程序加载的屏幕与我需要的屏幕不同?
- arrays - 我怎样才能为两个未排序的数组代码编写这个?
- webforms - 使用面向 .NET Framework 4.6.1 的 Web 表单应用程序对 IdentityServer4 进行基于角色的授权