【发布时间】:2014-03-13 16:34:13
【问题描述】:
我有这个嵌套字典,我想检查值是否匹配以及它们是否不返回值。
dict_test = {'sct2': {(5, 5, 0): [1, 2, 3]}, 'sct1': {(5, 5, 0): [1, 2, 4]}}
所以基本上通过 dict_test 迭代,我将比较 'sct2' 和 'sct1' 字典中的值并查看它们是否匹配,如果它们不匹配,我将打印出不匹配的值。如果我分成 2 个字典然后比较它们,我可以做到这一点
test1=dict_test['sct2']
test2=dict_test['sct1']
我可以比较这两个字典并做这样的事情:
mismatch = [val for val in test1.itervalues() if not val in test2.itervalues()]
虽然我希望它返回 4 而不是列表,但它会返回 [1,2,4]
我想知道是否有更好的方法来做到这一点,而不必创建 2 个字典,感谢任何帮助。谢谢
【问题讨论】:
-
所以你想比较
[1,2,3]和[1,2,4]? -
您只想比较具有相同元组键的条目吗?
-
您的示例似乎没有使用 test2,但确实使用了未定义的 y;听起来不对……
-
对不起,应该是test2而不是y,已经改了。
标签: python dictionary nested