Python 3 - Как мне сравнить ключи в одном словаре с другим, добавить их значения, сохранив результат в значении первого? - PullRequest
0 голосов
/ 11 сентября 2018

Когда значение dict_two появляется в dict_one, я хотел бы добавить соответствующие значения, сохраняя их в dict_one, по-Питонски, если это возможно.

dict_one = {'rose':5,
            'daisy':5,
            'lily':5,
            'anthurium':5,
            'sunflower':5}

dict_two = {'rose':1,
            'lily':2,
            'sunflower':5}

for i in dict_two:
    if i in dict_two.keys():
        dict_one[i] += dict_two[i]

print(dict_one)

1 Ответ

0 голосов
/ 11 сентября 2018

Вы можете использовать диктовку, как это:

{k: v + dict_two.get(k, 0) for k, v in dict_one.items()}

Возвращает:

{'rose': 6, 'daisy': 5, 'lily': 7, 'anthurium': 5, 'sunflower': 10}

Или, если вы предпочитаете обновить dict_one на месте:

dict_one.update({k: v + dict_one[k] for k, v in dict_two.items() if k in dict_one})
...