- Объединить два словаря в Python
- 1. Использование update() функция
- 2. Использование оператора распаковки словаря
- 3. Использование itertools.chain() функция
- 4. Преобразование в список
- Объединение двух словарей в Python – 11 способов
- Объединение двух словарей с помощью цикла for
- Соединение словарей с помощью метода update()
- Объединение с помощью функции
- Использование метода update(), когда оба словаря имеют одинаковые ключи
- С помощью метода Copy() и Update()
- Объединение двух словарей с помощью оператора ** – оператора распаковки
- С помощью конструктора dict()
- Конструктор dict() и ** kwargs
- Используя функцию Collections – ChainMap
- Объединение словарей с помощью метода itertools – chain()
- Оператор слияния(|)
Объединить два словаря в Python
В этом посте мы обсудим, как объединить два словаря в Python.
1. Использование update() функция
Идеальным решением для обновления словаря парами ключ/значение из другого словаря является использование update() функция. Следующий пример демонстрирует использование этой функции.
Однако обратите внимание, что эта функция перезапишет существующие ключи в родительском словаре.
2. Использование оператора распаковки словаря
Другой вариант Pythonic — использовать оператор распаковки словаря ( ** ) с пониманием словаря. Этот синтаксис был предложен в PEP 448 и представлен в Python 3.5. Обратите внимание, что это возвращает новый словарь.
В качестве альтернативы вы можете использовать конструктор словаря вместо понимания словаря, который требует распаковки только второго словаря.
3. Использование itertools.chain() функция
Другой подход заключается в использовании itertools.chain функция, которая часто используется для обработки последовательных последовательностей как единой последовательности. Вы можете получить новый словарь, передав возвращаемый итератор конструктору словаря.
Если вам нужно объединить список словарей в один словарь, вы можете использовать chain.from_iterable функция.
4. Преобразование в список
Наконец, вы можете преобразовать оба элемента словаря в список пар, а затем передать список конструктору словаря, чтобы получить новый словарь.
Это все, что касается слияния двух словарей в Python.
Средний рейтинг 5 /5. Подсчет голосов: 20
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не оказался для вас полезным!
Расскажите, как мы можем улучшить этот пост?
Спасибо за чтение.
Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.
Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂
Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно
Объединение двух словарей в Python – 11 способов
Словарь Python – это структура данных, которая содержит все элементы в парах ключ-значение. Каждая пара “ключ-значение” сопоставляет ключи с их ассоциативным значением. Следовательно, он также известен как ассоциативный массив словаря Python. Все элементы словаря заключены в фигурные скобки <>. Кроме того, мы используем символ двоеточия(:) между парами ключ-значение, которые отделяют каждый ключ от его ассоциативного значения.
Элементы словаря могут быть расположены в любом порядке и динамически изменены в программе Python. В этом разделе мы узнаем, как объединить два словаря в Python, используя различные.
Объединение двух словарей с помощью цикла for
Здесь мы используем цикл For, который выполняет итерацию по первому словарю и одновременно добавляет записи в другой словарь для их объединения.
Рассмотрим программу для объединения заданных словарей с помощью цикла For.
dict1 = < 'Alexandra' : 27, # given the first dictionary in key-value pairs 'Shelina Gomez' : 22, 'James' : 29, 'Peterson' : 30 >dict2 = < 'Jasmine' : 19, # given the second dictionary in key-value pairs 'Maria' : 26, 'Helena' : 30 >print("Before merging the two dictionary ") print("Dictionary No. 1 is : ", dict1) # print the dict1 print("Dictionary No. 1 is : ", dict2) # print the dict2 dict3 = dict1.copy() # Copy the dict1 into the dict3 using copy() method for key, value in dict2.items(): # use for loop to iterate dict2 into the dict3 dictionary dict3Python как объединить два словаря = value print("After merging of the two Dictionary ") print(dict3) # print the merge dictionary
Before merging the two dictionary Dictionary No. 1 is : Dictionary No. 1 is : After merging of the two Dictionary
Соединение словарей с помощью метода update()
Метод update() используется в Python для обновления текущего словаря содержимым второго словаря. Используя метод update(), мы можем избежать создания третьего словаря для хранения первого элемента словаря и последующего обновления второго элемента словаря.
Рассмотрим программу для объединения заданных словарей на Python без создания третьего словаря.
d1 = # Defines the d2 dictionary d2 = d1.update(d2) # append the d2 dictionary items into the d1 dictionary. print( "Merge two dictionaries :") print(d1) # print the merge dictionary
Объединение с помощью функции
Давайте рассмотрим программу для объединения заданных словарей в Python с использованием метода update() в функции.
def merge_twoDict(a, b): # define the merge_twoDict() function return(a.update(b)) # append the second dictionary(b) to the first dictionary(a) a = b = < 'India' : 'Delhi', 'Russia' : 'Russian', 'Australia' : 'Sydney' >merge_twoDict(a, b) # pass two dictionaries to merge_twoDict() function print("Merged Dictionaries is : ") print(a) # print the merge dictionaries
Использование метода update(), когда оба словаря имеют одинаковые ключи
Давайте рассмотрим программу для объединения заданных словарей в Python с использованием метода update(), когда оба словаря содержат одинаковые ключи.
# Defines the d1 dictionary in key- value pairs d1 = < 'Cricketer' : 'Nicholas Pooran', 'Basketball': 'Jordan', 'Football' : 'Zindane', 'Actress' : 'Jasmine Wiley' ># Defines the d2 dictionary in key- value pairs d2 = < 'Tennis' : 'Maria', 'Stadium' : 'Amsterdam', 'Basketball' : 'Washington', 'Actress' : 'Elizabeth' >d1.update(d2) # append the d2 dictionary items into the d1 dictionary. print( "Merge two dictionaries :") print(d1) # print the merge dictionary
У нас есть два одинаковых ключа (Actress и Basketball) в обоих словарях. Когда мы выполняем метод обновления, последнее значение второго словаря переопределяет старые значения первого словаря. Когда словарь d1 выполняется, он печатает значения Washington и Elizabeth для ключей Actress и Basketball вместо Jasmine Wiley и Jordan.
С помощью метода Copy() и Update()
В этом методе мы копируем все элементы первого словаря(d1) с помощью функции copy(), а затем назначаем скопированные данные другому словарю(d3). После этого мы обновляем словарь d3 словарем d2 с помощью функции update().
Давайте рассмотрим программу для объединения заданных словарей с использованием методов copy и update() в Python.
dict1 = < 'Student' : 'Butler', 'Course' : 'Computer Science', 'Address' : 'Los Angeles' >dict2 = < 'Teacher' : 'Rosy', 'Subject' : 'Computer Science' ># Use Copy() function to copy the dict1 into the dict3 dict3 = dict1.copy() print("Before Merge") print(dict3) # print dict3 dictionary # use update() dictionary function to update the dict3 using the dict2. dict3.update(dict2) print("After Merge of the two Dictionary is : ", dict3)
Before Merge After Merge of the two Dictionary is :
Объединение двух словарей с помощью оператора ** – оператора распаковки
Оператор распаковки, используемый для объединения двух или более словарей в одном выражении и сохранения их в третьем словаре.
Рассмотрим программу для объединения заданных словарей с помощью оператора ** в Python.
dict1 = < 'Student' : 'Butler', 'Course' : 'Computer Science', 'Address' : 'Los Angeles' >dict2 = < 'Teacher' : 'Rosy', 'Subject' : 'Computer Science' >dict3 = < 'Country' : 'England', 'State' : 'California', 'mob' : +3487434 ># Use ** operator or Unpack Operator d5 = <**dict1, **dict2>print("Merge two dictionaries", d5) # Merge two dictionaries d4 = < **dict1, **dict2, **dict3 >print("Merge more than two dictionaries", d4) # Merge multiples dictionaries
Merge two dictionaries Merge more than two dictionaries
С помощью конструктора dict()
Метод конструктора dict() аналогичен методам copy() и update() в Словаре Python. Конструктор dict() копирует первые элементы словаря в новый словарь, а затем выполняет метод update(), чтобы обновить новый словарь вторым элементом словаря.
Давайте рассмотрим программу для объединения заданных словарей с помощью метода dict() в Python.
dict1 = < 'Student' : 'Butler', 'Course' : 'Computer Science', 'Address' : 'Los Angeles' >dict2 = < 'Teacher' : 'Rosy', 'Subject' : 'Computer Science' ># Use dict() constructor d3 = dict(dict1) print("Before Merge", d3) d3.update(dict2) print("Merge two dictionaries", d3) # Merge two dictionaries
Before Merge Merge two dictionaries
Конструктор dict() и ** kwargs
Это сокращенный метод конструктора dict(), который использует оператор kwargs(**) для сопоставления одного словаря с другим с помощью метода dict().
Рассмотрим программу для объединения двух словарей с помощью конструктора dict() и оператора ** kwargs в Python.
dict1 = < 'Student' : 'Butler', 'Course' : 'Computer Science', 'Address' : 'Los Angeles' ># Second dictionary is: dict2 = < 'Teacher' : 'Rosy', 'Subject' : 'Computer Science' ># Use dict() constructor d3 = dict(dict1, **dict2) print("Merge two dictionaries", d3) # Merge two dictionaries
Используя функцию Collections – ChainMap
ChainMap – это набор из нескольких словарей, которые возвращают один словарь. Это более быстрый метод создания нового словаря и запуска нескольких файлов по сравнению с методом update(). Чтобы объединить два словаря в Python, нам нужно импортировать ChainMap из коллекций. В функции ChainMap() мы передаем два словаря в качестве аргумента, который возвращает экземпляры ChainMap для сопоставления словарей с помощью конструктора dict() для объединения словарей.
Давайте рассмотрим программу для объединения двух словарей с помощью функции ChainMap в Python.
dict1 = < 'Student' : 'Butler', 'Course' : 'Computer Science', 'Address' : 'Los Angeles' >dict2 = < 'Teacher' : 'Rosy', 'Subject' : 'Computer Science' >from collections import ChainMap # import the ChainMap from collections # Use ChainMap() constructor d3 = dict(ChainMap(dict1, dict2)) # passes two parameters as an argument print("Merge two dictionaries", d3) # Merge two dictionaries
Объединение словарей с помощью метода itertools – chain()
Он создает итеративный словарь, который возвращает элемент из первого итеративного словаря до его завершения. А затем он переходит к следующей итерации для дальнейшего выполнения в словаре. Следовательно, он представляет последовательные последовательности как единую последовательность.
Давайте рассмотрим программу для объединения двух словарей с помощью функции цепочки в Python.
dict1 = < 'Student' : 'Butler', 'Course' : 'Computer Science', 'Address' : 'Los Angeles' >dict2 = < 'Teacher' : 'Rosy', 'Subject' : 'Computer Science' >from itertools import chain # import the chain() function from itertools # Use ChainMap() constructor d3 = dict(chain(dict1.items(), dict2.items())) # passes two parameters as an argument print("Merge two dictionaries", d3) # Merge two dictionaries
Оператор слияния(|)
Оператор слияния(|) также используется для слияния двух словарей в Python. Python 3.9 представил оператор слияния(|) в классе dict.
Напишем программу для объединения двух словарей на Python с помощью оператора слияния(|).
def merge(dict1, dict): result = dict1 | dict2 # use merge operator(|) return result dict1 = # define dict1 dict2 = # define dict2 dict3 = merge(dict1, dict2) # call merge() function print(dict3) # print dict3