2024-05-21 00:59:19 发布
网友
给出两个列表:
a = [[1,2],[3,4]] b = [[1,2],[3,4]]
我怎么写compare这样:
compare
compare(a,b) => true
你要这个吗:
>>> a = [[1,2],[3,4]] >>> b = [[1,2],[3,4]] >>> a == b True
注意:==当列表无序时不有用,例如(注意顺序在a和b中)
==
a
b
>>> 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]](不是深度排序)
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创建匿名函数:
lambda
compare = lambda a, b: a == b
你要这个吗:
注意:
==
当列表无序时不有用,例如(注意顺序在a
和b
中)请参阅此问题以获取进一步的参考: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:)
简单:
另一种方法是使用
lambda
创建匿名函数:相关问题 更多 >
编程相关推荐