比较python中的词典

Yet*_*Guy 0 python dictionary python-3.x

dict1 = {
    key1: value1,
    key2: value2,
    key3: value3
}

dict2 = {
    key1: value1,
    key4: value4,
    key3: value2
}
fdict = {}
Run Code Online (Sandbox Code Playgroud)

当我比较上面两个词典时,我想将key1:value1存储到fdict词典中:

我的尝试:

for key in dict1.keys():
    if key in dict2.keys():
        if dict1[key] == dict2[key]:
            fdict[key] == dict1[key]
Run Code Online (Sandbox Code Playgroud)

当我尝试上述方法时,我有"关键错误"..有什么建议吗?

Sie*_*yer 7

嗯,首先,你得到的KeyError是因为你试图查找两个指南针中都不存在的密钥.

听起来像你想要计算两个字典的交集.在这种情况下,它足以:

>>> a = dict(a=1, b=2, c=3)
>>> b = dict(b=2, c=3, d=4)
>>> dict(a.items() & b.items())
{'c': 3, 'b': 2}
Run Code Online (Sandbox Code Playgroud)

  • 老实说,我不知道dict视图有类似交集/联合运算符 (4认同)