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にない他の多くのキーと値のペアがあり、それらを同じに保ちたいと思います。

それを行う最もPython的な方法は何ですか?

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 に答える