Как объединить 2 словаря одним выражением?
Каким образом можно объединить 2 словаря одним выражением?
Метод update() я бы использовать не хотел, так как он изменяет содержимое словаря, а не создаёт новый объект.
Ответы (2 шт):
Автор решения: MaxU
→ Ссылка
Для Python 3.5+ можно объединить два и более словарей следующим способом:
создаем словари:
In [1]: a = dict(a=1, b=2)
In [2]: b = dict(c=3, d=4, a=100)
получилось:
In [3]: a
Out[3]: {'a': 1, 'b': 2}
In [4]: b
Out[4]: {'c': 3, 'd': 4, 'a': 100}
объединяем:
In [5]: res = {**a, **b}
результат:
In [6]: res
Out[6]: {'a': 100, 'b': 2, 'c': 3, 'd': 4}
для Python 2.7 - решение предложенное @extrn в комментарии:
print dict({1: 2}, **{3: 4}) # в 3.x так нельзя
>>> {1: 2, 3: 4}
print dict({'1': 2}, **{'3': 4}) # но так - можно
>>> {'1': 2, '3': 4}
Автор решения: user405402
→ Ссылка
Я думаю что можно через команду union .
Вот пример
songs1 = {'Три белых коня', 'Happy new year', 'Снежинка'}
songs2 = {'Last christmas', 'Снежинка', 'Happy new year'}
print(songs1.union(songs2))
{'Три белых коня', 'Снежинка', 'Last christmas', 'Happy new year'}