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

sda*_*das 8 python arrays list

给出两个列表:

a = [[1,2],[3,4]]
b = [[1,2],[3,4]]
Run Code Online (Sandbox Code Playgroud)

我怎么写compare这样的:

compare(a,b) => true
Run Code Online (Sandbox Code Playgroud)

Gri*_*han 13

你想要这个吗:

>>> a = [[1,2],[3,4]]
>>> b = [[1,2],[3,4]]
>>> a == b
True
Run Code Online (Sandbox Code Playgroud)

注意:==当列表是无序的,例如,不实用(在通知顺序a,并在b)

>>> a = [[3,4],[1,2]]
>>> b = [[1,2],[3,4]]
>>> a == b
False
Run Code Online (Sandbox Code Playgroud)

请参阅此问题以获取进一步的参考:如何比较python中的列表/集列表?

编辑:感谢@dr jimbob

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

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