它旨在比较Python中由dict元素组成的两个列表,每个dict元素中有两个键。下面提供了示例。你知道吗
A=[{'id':'u2s8Et','value':'David'},{'id':'u2s0PW','value':'Linda'},......]
B=[{'id':'u2s8Et','value':'David'},{'id':'u2s7PA','value':'Steven'},......]
希望得到哪些元素只在列表A中可用,哪些元素在列表A中不同于列表B中的元素。是否有任何现有的模块可以用来比较?你知道吗
unittest模块中的方法assertListEqual接近预期,但更全面的模块是首选。你知道吗
可以使用集操作,例如
set.intersection()
和set.difference
。您还应该考虑创建一个自定义类,而不是使用字典。你知道吗主要问题是
dict
是不可散列的。但是,因为它们中的每一个都有相同的键,所以我们可以将它们转换为可哈希类型,如tuple
。你知道吗我们现在可以使用
set
操作来比较每个元素。你知道吗set.difference
将查找在A
中但不在B
中的项,set.intersection
将查找同时在A
和B
中的项。你知道吗编辑:因为您的
dict
都遵循相同的格式,所以您也可以考虑使用namedtuple
。你知道吗相关问题 更多 >
编程相关推荐