给定两个列表:
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 无序时无用,例如(注意 order ina
和 inb
)
>>> a = [[3,4],[1,2]]
>>> b = [[1,2],[3,4]]
>>> a == b
False
请参阅此问题以获取更多参考:How to compare a list of lists/sets in python?
编辑:感谢@dr jimbob
如果要在排序后进行比较,可以使用sorted(a)==sorted(b)
.
但是再强调一点,如果那样的c = [[4,3], [2,1]]
话sorted(c) == sorted(a) == False
,是因为sorted(c)
不同[[2,1],[4,3]]
(不是深入排序)
为此,您必须使用链接答案中的技术。因为我也在学习 Python :)
简单的:
def compare(a, b): return a == b
另一种方法是使用lambda
创建一个匿名函数:
compare = lambda a, b: a == b