如何比较 python 中的两个有序列表?

如果我有一个很长的列表: myList = [0,2,1,0,2,1],我把它分成两个列表:

a = [0,2,1]
b = [0,2,1]

我如何比较这两个列表,看看他们是否都相等/相同,约束,他们必须在相同的顺序?

我曾经看到过一些问题要求通过排序来比较两个列表,但是在我的具体案例中,我并没有检查排序比较,而是检查相同的列表比较。

166870 次浏览

只需使用经典的 ==操作符:

>>> [0,1,2] == [0,1,2]
True
>>> [0,1,2] == [0,2,1]
False
>>> [0,1] == [0,1,2]
False

如果同一索引中的元素相等,则列表相等。然后考虑排序。

如果您只想检查它们是否相同,a == b应该给出 true/false,并考虑到顺序。

如果要比较元素,可以使用 numpy 进行比较

c = (numpy.array(a) == numpy.array(b))

在这里,c 将包含一个包含3个元素的数组,所有元素都为 true (对于您的示例)。如果 a 和 b 的事件元素不匹配,那么 c 中相应的元素将为 false。

表达式 a == b应该完成这项工作。