如果我有两个词典(在我的程序中有两个以上):
a={'ab':3, 'bc':4, 'cj':2}
b={'ab':2, 'cd':2, 'ed':2, 'cj':4}
并希望获得它们之间的公共密钥:
common_keys=['ab','cj']
我该怎么办?
我理解set.intersection
但不知道如何将字典键变成一组。
答案 0 :(得分:4)
使用dict.viewkeys()
的字典视图并设置操作:
common_keys = a.viewkeys() & b.viewkeys() & c.viewkeys()
如果您使用的是Python 3,dict.keys()
method将返回字典视图:
common_keys = a.keys() & b.keys() & c.keys()
任一操作都会返回set
object。
演示:
>>> a = {'ab': 3, 'bc': 4, 'cj': 2}
>>> b = {'ab': 2, 'cd': 2, 'ed': 2, 'cj': 4}
>>> c = {'ab': 6, 'ad': 2, 'dd': 2, 'cj': 1}
>>> a.viewkeys() & b.viewkeys() & c.viewkeys()
set(['cj', 'ab'])