比较元组列表 - 等于无论位置

时间:2018-01-14 20:58:38

标签: python list tuples comparison

假设:

a = [(1,2,3),(4,5,6)]
b = [(4,5,6),(1,2,3)]

我希望以下比较为True。列表中元组的含义位置无关紧要。

a == b

3 个答案:

答案 0 :(得分:2)

在Python中创建一个multiset - collections.Counter对象 - 从两个列表中进行比较并进行比较:

>>> from collections import Counter
>>> a = [(1,2,3), (4,5,6)]
>>> b = [(4,5,6), (1,2,3)]
>>> Counter(a) == Counter(b)
True

答案 1 :(得分:2)

对列表进行排序,然后比较它们:

a = [(1,2,3),(4,5,6)]
b = [(4,5,6),(1,2,3)]
sorted(a)==sorted(b)
# True

答案 2 :(得分:0)

如果您不关心重复,请使用集:set(a) == set(b)

否则,请对它们进行排序:sorted(a) == sorted(b)