Как объединить два словаря в Python

Опубликован: 28.08.2023 99

Часто требуется объединить несколько словарей в один, при этом ключи в объединяемых словарях могут совпадать.

Объединение словарей в Python 3.9+

Начиная с версии Python 3.9, для объединения словарей используются операторы:

  • слияния |, который создает новый словарь из двух исходных словарей;
  • обновления |=, который обновляет исходный словарь (слева от оператора) словарем, указанным справа от оператора.

Если в обоих словарях есть общий ключ, то значение второго словаря перезаписывает значение первого.

a = {1: 'apple', 2: 'bananas', 3: 'pears', 4: 'fish'}
b = {1: 'watermelons', 2: 'plums'}

# слияние двух словарей в новый словарь x
x = a | b
print(x)
{1: 'watermelons', 2: 'plums', 3: 'pears', 4: 'fish'}

# обновление словаря a словарем b
a |= b
print(a)
{1: 'watermelons', 2: 'plums', 3: 'pears', 4: 'fish'}

Объединение словарей до Python 3.9

На более ранних версиях Python вместо операторов слияния | и обновления |= используется оператор распаковки ** (две звездочки) для распаковки объединяемых словарей внутри другого (нового) словаря:

x = {**a, **b}
print(x)
{1: 'watermelons', 2: 'plums', 3: 'pears', 4: 'fish'}

Похожие посты

Оценка основных статистических метрик набора данных в Python

Область эффективного использования lambda функции в Python

Логические выражения if ... else в Pythonic стиле

Способы удаления лишних пробелов в строке

Комментариев нет.