9

给定两个列表:

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

我将如何写compare这样的:

compare(a,b) => true
4

2 回答 2

13

你想要这个吗:

>>> 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 :)

于 2013-04-06T20:42:18.037 回答
2

简单的:

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

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

compare = lambda a, b: a == b
于 2013-04-06T20:42:04.883 回答