字典中的差异

2024-03-28

我试图找出字典中的差异,是否添加或删除了某些内容以及从什么内容中添加或删除了某些内容。

这是一个添加值的情况:

original = {0: None, 1: False, 2: [16]}
new = {0: None, 1: False, 2: [2, 16]}

difference = True, {2: 2} # True = Added

这是一个值被删除的情况:

original = {0: None, 1: False, 2: [16, 64]}
new = {0: None, 1: False, 2: [64]}

difference = False, {2: 16} # False = Removed

问题是我不知道如何收到差额。有人知道如何实现这样的结果吗?

额外信息(不知道您是否需要此信息):

  • 这也适用于原件和新件的 0 和 1。
  • 1 和 2 不能同时激活。如果其中一个有值,则另一个为 False。

正如我在一篇文章中所解释的其他问题 https://stackoverflow.com/questions/1165352/fast-comparison-between-two-python-dictionary/19634030#19634030PyPI 上有一个专门用于此任务的库,它是数据差异库 https://pypi.python.org/pypi/datadiff。它很容易使用,您可以使用输出来做您必须做的事情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字典中的差异 的相关文章

随机推荐