2

我有 2 个字典:

dict1 = {'field1':'value1', 'field2':'value2',...... }
dict2 = {'field1':'value1_1', 'field2':'value2_2','field3':'value3_3'}

我希望 dict1 的 field1 和 field2 的值是 dict2 的 field1 和 field2 的值。

所以我希望 dict1 是:dict1 = {'field1':'value1_1', 'field2':'value2_2'},但 dict1 有许多其他键/值对不在 dict2 中,我想保持它们相同。

最pythonic的方法是什么?

4

2 回答 2

5

可能是这样的:

dict1.update({key : dict2[key] for key in dict1 if key in dict2})

或者用一个简单的循环:

for key in dict1:
    if key in dict2:
        dict1[key] = dict2[key]
于 2012-07-18T15:02:12.250 回答
2

您可以尝试听写理解:

dict1 = {key : value for key, value in dict2.iteritems() if key in dict1}

编辑看过 mouad 的回答:

dict1 = {key : dict2[key] for key in dict1}
于 2012-07-18T15:05:21.940 回答