Если A и B являются двумя словарями, использующими python, есть ли способ удаления элементов из словаря A, находящихся в словаре B?
Например,
parent_dict = {"a" : "aaa", "b" : "bbb", "c" : "ccc", "d" : "ddd", "e": "eee"}
derived_dict = {"a" : "aaa", "d" : "ddd", "e" : "eee"}
Теперь янеобходимо написать функцию dict_reduce (dictA, dictB), которая удаляет все элементы dictB из dictA.
(то есть) dict_reduce (parent_dict, производная_dict) должна дать {"b": "bbb", "c":" ccc "}
Моя работа с циклом for:
def dict_reduce(parent_dict, child_dict):
for key in child_dict.keys():
del parent_dict[key]
return parent_dict
reduced_dict = dict_reduce(parent_dict, child_dict)
ПРИМЕЧАНИЕ:
- Будет замечательно, если решение будетодна строка или что-то, что не принимает цикл for.
- Также нам не нужно проверять, есть ли у родительского словаря ключ перед удалением, поскольку дочерний словарь является производным от родительского словаря.Поэтому не нужно думать о keyError.
- Родительский словарь - это статический словарь, который не должен зависеть от метода.Вместо этого возвращаемый словарь должен храниться в другом сокращенном словаре.
- Нет необходимости проверять, имеет ли child_dict такой же ключ, как у parent_dict.Только ключ имеет значение.