dict = {**dict1, **dict2} # Новое в Python 3.9 dict = dict1 | dict2
dict1
, dict2
- объединяемые словари.dict
.Выражение {**dict1, **dict2}
создает новый словарь с объединенными ключами и значениями из dict1
и dict2
, которые оба должны быть словарями.
Значения ключей словаря dict2
имеют приоритет, когда dict1
и dict2
используют одинаковые ключи key
.
Важно понимать отличие операции объединения/слияния словарей от операции обновления/дополнения. Отличие заключается в том, что в результате операции объединения/слияния {**dict1, **dict2}
образуется новый словарь (исходные словари не изменяются), а при операции обновления/дополнения изменяется исходный словарь dict
.
>>> x = {"key1": "value1 from x", "key2": "value2 from x"} >>> y = {"key2": "value2 from y", "key3": "value3 from y"} # объединение словаря `x` с `y` >>> {**x, **y} # {'key1': 'value1 from x', 'key2': 'value2 from y', 'key3': 'value3 from y'} # объединение словаря `y` с `x` >>> {**y, **x} # {'key2': 'value2 from x', 'key3': 'value3 from y', 'key1': 'value1 from x'} # Новое в Python 3.9 >>> x | y # {'key1': 'value1 from x', 'key2': 'value2 from y', 'key3': 'value3 from y'} >>> y | x # {'key2': 'value2 from x', 'key3': 'value3 from y', 'key1': 'value1 from x'}