В этой статье показаны различные способы объединения двух словарей в Python.

В словарях Python есть .update(other)функция, которая обновляет словарь парами ключ/значение из других , перезаписывая существующие ключи.

Однако это изменяет исходный словарь на месте , а не возвращает новый.

x = {'a': 1, 'b': 2}
y = {'b': 8, 'c': 9}

x.update(y)
# x: {'a': 1, 'b': 8, 'c': 9}

Чтобы создать новый словарь с объединенными парами ключ/значение , вы можете использовать разные методы, в зависимости от используемой версии Python.

 

В Python 3.9 или выше:

z = x | y
# z: {'a': 1, 'b': 8, 'c': 9}

 

В Python 3.5 или выше:

z = {**x, **y}
# z: {'a': 1, 'b': 8, 'c': 9}

Это также известно как распаковка словаря . Он был введен в PEP 448 .

 

Python 3.4 или ниже:

z = x.copy()
z.update(y) 

# z: {'a': 1, 'b': 8, 'c': 9}

Обратите внимание, что если вы просто используете z = x, создается только неглубокая копия. Это означает, что даже после обновления z изменение x также приведет к обновлению z и наоборот.

Так что для того, чтобы создать истинную копию, x.copy()используется здесь.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии