如何在Python中比较2D列表的相等性?
给出两个列表:
a = [[1,2],[3,4]]
b = [[1,2],[3,4]]
我怎么写compare
这样的:
compare(a,b) => true
-
你想要这个吗:
>>> a = [[1,2],[3,4]] >>> b = [[1,2],[3,4]] >>> a == b True
注意:
==
当List处于无序状态时(例如,( 和中的 通知顺序a``b
))无用>>> a = [[3,4],[1,2]] >>> b = [[1,2],[3,4]] >>> a == b False
请参阅此问题以获取更多参考:如何在python中比较列表/集合的列表?
编辑 :感谢@dr jimbob
如果要在排序后进行比较,可以使用
sorted(a)==sorted(b)
。
但是再说一遍,如果c = [[4,3], [2,1]]
那sorted(c) == sorted(a) == False
是因为,sorted(c)
与众不同[[2,1],[4,3]]
( 不是深度排序 )为此,您必须使用链接答案中的技术。由于我也在学习Python :)