我想比较 dict_1
和 dict_2
之间的键,并创建一个仅包含不匹配键及其对应值的 new_dict
。我有两个这样的字典:
dict_1 = {'a':'1', 'b':'1', 'c': None}
dict_2 = {'d': '1', 'a': '2'}
我希望输出类似于:a
和 a
匹配,因此我希望将其排除在 new_dict
中。
new_dict = {'b':'1', 'c': None, 'd': '1'}
我尝试过这个:
new_dict = {}
for key in dict_1.items():
for key2 in dict_2.items():
if key == key2:
但我不确定如何从这里继续,或者这可能不是正确的方法。请帮忙!
最佳答案
您可以对 dict.keys
的结果执行类似集合的操作:
For set-like views, all of the operations defined for the abstract base class
collections.abc.Set
are available (for example,==
,<
, or^
).
所以你可以做类似的事情
dict_1 = {'a':'1', 'b':'1', 'c': None}
dict_2 = {'d': '1', 'a': '2'}
keys = dict_1.keys() ^ dict_2.keys()
new_dict = {k: dict_1.get(k, dict_2.get(k)) for k in keys}
关于python - 比较两个字典的键并使用与另一个字典中的键不匹配的键、值对创建一个字典 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55527388/