如果 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"}
Run Code Online (Sandbox Code Playgroud)
现在我需要编写一个函数 dict_reduce(dictA, dictB) 从 dictA 中删除 dictB 的所有元素。
(即) dict_reduce(parent_dict,derived_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)
Run Code Online (Sandbox Code Playgroud)
笔记:
{k: v for k, v in parent_dict.items() if k not in derived_dict}
Run Code Online (Sandbox Code Playgroud)
使用问题中提供的字典:
dict(parent_dict.items() - returned_dict.items()) 或
dict(parent_dict.items() ^ returned_dict.items())