在python中从不同的词典中获取常用键

时间:2014-09-30 12:38:02

标签: python dictionary

如果我有两个词典(在我的程序中有两个以上):

a={'ab':3, 'bc':4, 'cj':2}
b={'ab':2, 'cd':2, 'ed':2, 'cj':4}

并希望获得它们之间的公共密钥:

common_keys=['ab','cj']

我该怎么办?

我理解set.intersection但不知道如何将字典键变成一组。

1 个答案:

答案 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'])