2024-05-01 21:21:32 发布
网友
从两个不同的词典开始:
dict_a = {'a': 1, 'b': 3, 'c': 4, 'd': 4, 'e': 6} dict_b = {'d': 1, 'e': 6, 'a': 3, 'v': 7}
即使它们有不同的键,我如何获得公共值?考虑到上述词典,我希望得到以下输出:
common = [1, 3, 6]
从以下值创建集:
list(set(dict_a.values()) & set(dict_b.values()))
这将在两个字典中创建唯一值的交集:
>>> dict_a = {'a': 1, 'b': 3, 'c': 4, 'd': 4, 'e': 6} >>> dict_b = {'d': 1, 'e': 6, 'a': 3, 'v': 7} >>> list(set(dict_a.values()) & set(dict_b.values())) [1, 3, 6]
不幸的是,我们不能在这里使用dictionary views(它可以像集合一样工作),因为字典值不需要唯一。如果您只要求键或键值对,那么set()调用就没有必要了。你知道吗
set()
交集表达式&需要2个集合,但方法对应项可以处理任何iterable,如指令值. 下面是Martijn Pieters解决方案的另一个版本:
&
list(set(dict_a.values()).intersection(dict_b.values()))
我的2美分:)
从以下值创建集:
这将在两个字典中创建唯一值的交集:
不幸的是,我们不能在这里使用dictionary views(它可以像集合一样工作),因为字典值不需要唯一。如果您只要求键或键值对,那么
set()
调用就没有必要了。你知道吗交集表达式
&
需要2个集合,但方法对应项可以处理任何iterable,如指令值. 下面是Martijn Pieters解决方案的另一个版本:我的2美分:)
相关问题 更多 >
编程相关推荐