从两个不同的词典开始:
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]
Martijn Piet.. 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]
不幸的是,我们不能在这里使用字典视图(它可以像集合一样),因为字典值不需要是唯一的.如果只询问密钥或键值对,则set()
不需要调用.
根据值创建集合:
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]
不幸的是,我们不能在这里使用字典视图(它可以像集合一样),因为字典值不需要是唯一的.如果只询问密钥或键值对,则set()
不需要调用.