我想知道如何获得两个列表之间的对称差异。
例如:
list1 = ['a','a','b','c','d']
list2 = ['a','b','c','f']
sym_dif = ['a', 'd', 'f']
集不起作用,因为每个列表中都有同一个对象的多个实例。我尝试浏览Stackoverflow和互联网,每个人都总是建议设置。也许对称差异不是我想要的?我只是在寻找仅出现在一个列表中或在一个列表中比另一个出现更多的每个项目。
您可以collections.Counter
改用:
from collections import Counter
c1 = Counter(list1)
c2 = Counter(list2)
print(list((c1 - c2 | c2 - c1).elements()))
输出:
['a', 'd', 'f']
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句