如何获得两个列表之间的对称差异?

时间:2019-12-11 18:02:37

标签: python-3.x list symmetric-difference

我想知道如何获得两个列表之间的对称差异。

例如:

list1 = ['a','a','b','c','d']    
list2 = ['a','b','c','f']    
sym_dif = ['a', 'd', 'f']

集合不起作用,因为每个列表中都有同一个对象的多个实例。我尝试浏览Stackoverflow和互联网,每个人总是建议设置。也许对称差异不是我想要的?我只是在寻找仅出现在一个列表中或出现在一个列表中而不是另一个列表中的每个项目。

1 个答案:

答案 0 :(得分:3)

您可以改用 if (found) { rect.attr('x', i); if (last_snap == i) return; console.log("snapped to " + i); last_snap = i; }

collections.Counter

这将输出:

from collections import Counter
c1 = Counter(list1)
c2 = Counter(list2)
print(list((c1 - c2 | c2 - c1).elements()))