我希望比较
我希望输出结果是这样的:
我尝试了这个:
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:
但我不确定该如何从这里继续,或者也许这不是正确的做法。请帮忙!
symmetric_difference
,也就是^
。你所做的操作在功能上没有问题,但是多余地重新发明了轮子。 - Mad Physicistif dict_1.get(key) is not None:
进行检查会得到错误的答案,因为其中一个字典包含有效的 None 值。请改用if key in dict_1:
。 - Mad Physicistget
将返回None,并且这是正确的值。但最好在逻辑上需要测试时编写key in dict_1
;避免看似偶然成功的棘手代码。 - kaya3