【发布时间】:2018-02-02 07:39:22
【问题描述】:
我有 2 部本应完全相同的字典,但有一点差异,大约 0.0035%,但考虑到我的数据数量,这仍然是相当多的元素。
我想要的是在第 3 部词典中获得 2 部词典之间的差异,例如:
mydict = {
'a': [[2,4], [5,6]],
'b': [[1,1], [1,7,9], [6,2,3]],
'c': [['a'], [4,5]],
}
second_dict = {'a': [[2,4]],
'b': [[1,1], [1,7,9], [6,2,3]],
}
让我们假设mydict 是包含所有元素的基本事实,second_dict 是缺少一些元素,diff_dict 应该是:
diff_dict = {'a': [[5,6]],
'c': [['a'], [4,5]],
}
【问题讨论】:
-
到目前为止你尝试过什么?这个想法可能是遍历
mydict的所有键并检查它们是否存在于second_dict中。如果有,则需要比较这些值(它们总是数字列表的列表吗?) -
Python
dicts 可能不是保存大量数据的最佳方式,计算差异会相对昂贵。您是否在使用其他库,例如 Pandas 或 Numpy?如果是这样,请编辑您的问题,也许您可能会得到更高效的答案。 -
我试过但没用的
value = {k: my_dict[k] for k in set(my_dict) - set(plus_min_dict)} -
“差异”是什么意思?只是钥匙?或者是否也有可能存在一个键但具有不同的值?
标签: python python-3.x dictionary