You are currently viewing Python – Обновление словаря с помощью другого словаря

Python – Обновление словаря с помощью другого словаря

Иногда при работе со словарями Python у нас может возникнуть проблема, при которой нам необходимо выполнить обновление словаря с помощью других ключей словаря. Это может иметь приложения в доменах, в которых нам нужно добавить определенные записи к ранее записанным записям. Давайте обсудим некоторые способы, с помощью которых эта задача может быть выполнена.

Метод № 1 : Использование цикла

Это грубый способ выполнения этой задачи. В этом случае мы проверяем наличие ключей в другом словаре и добавляем элементы в новый словарь.

# Python3 code to demonstrate working of
# Update dictionary with other dictionary
# Using loop

# initializing dictionaries
test_dict1 = {'gfg' : 1, 'best' : 2, 'for' : 4, 'geeks' : 6}
test_dict2 = {'for' : 3, 'geeks' : 5}

# printing original dictionaries
print("The original dictionary 1 is : " + str(test_dict1))
print("The original dictionary 2 is : " + str(test_dict2))

# Update dictionary with other dictionary
# Using loop
for key in test_dict1:
	if key in test_dict2:
		test_dict1[key] = test_dict2[key]

# printing result
print("The updated dictionary is : " + str(test_dict1))

Выход:

Оригинальный словарь-это 1 : {‘best’: 2, ‘for’: 4, ‘gfg’: 1, ‘geeks’: 6}
оригинальной словарь 2 это : {‘for’: 3, ‘geeks’: 5}
обновленные словарь : {‘best’: 2, ‘for’: 3, ‘gfg’: 1, ‘geeks’: 5}

Метод № 2 : Использование понимания словаря

Это еще один способ, которым можно выполнить эту задачу. В этом случае мы выполняем итерацию для словаря и выполняем обновление в одной строке, используя понимание.

# Python3 code to demonstrate working of
# Update dictionary with other dictionary
# Using dictionary comprehension

# initializing dictionaries
test_dict1 = {'gfg' : 1, 'best' : 2, 'for' : 4, 'geeks' : 6}
test_dict2 = {'for' : 3, 'geeks' : 5}

# printing original dictionaries
print("The original dictionary 1 is : " + str(test_dict1))
print("The original dictionary 2 is : " + str(test_dict2))

# Update dictionary with other dictionary
# Using dictionary comprehension
res = {key : test_dict2.get(key, val) for key, val in test_dict1.items()}

# printing result
print("The updated dictionary is : " + str(res))

Выход:

Исходный словарь 1 : {‘best’: 2, ‘for’: 4, ‘gfg’: 1, ‘geeks’: 6}
Исходный словарь 2 таков : {‘for’: 3, ‘geeks’: 5}
Обновленный словарь : {‘best’: 2, ‘for’: 3, ‘gfg’: 1, ‘geeks’: 5}