如何在Python中比较2D列表的相等性?

时间:2013-04-06 20:40:27

标签: python arrays list

给出两个清单:

a = [[1,2],[3,4]]
b = [[1,2],[3,4]]

我如何写compare这样:

compare(a,b) => true

2 个答案:

答案 0 :(得分:13)

你想要这个:

>>> a = [[1,2],[3,4]]
>>> b = [[1,2],[3,4]]
>>> a == b
True

注意:如果列表无序,==无用,例如{{1>}和a 中的通知顺序)

b

请参阅此问题以获取进一步参考:How to compare a list of lists/sets in python?

修改:感谢@dr jimbob

如果您想在排序后进行比较,可以使用>>> a = [[3,4],[1,2]] >>> b = [[1,2],[3,4]] >>> a == b False 但又有一点,如果sorted(a)==sorted(b)然后c = [[4,3], [2,1]]因为sorted(c) == sorted(a) == False不同sorted(c)没有深入排序

为此您必须使用链接答案中的技巧。因为我也在学习Python:)

答案 1 :(得分:1)

简单:

def compare(a, b): return a == b

另一种方法是使用lambda创建匿名函数:

compare = lambda a, b: a == b