说我有:
a = [1, 2, 3]
b = [1, 2, 3]
有没有办法测试列表是否相同,而不必遍历每个条目?
这就是我的想法..我知道检查两个变量是否与我可以使用的相同:
id(a)
但它不起作用,因为ID是不同的,所以有一些类型的校验和或python存储表的值的方式,所以我可以简单地比较两个变量?
答案 0 :(得分:11)
==
不起作用吗?
>>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> a == b
True
答案 1 :(得分:3)
==
运算符应在列表上按预期运行
>>> x = [1, 2]
>>> y = [1, 2]
>>> x == y
True
答案 2 :(得分:0)
==运算符应该在列表上起作用
在某些版本的python上收到此输出,我不知道哪个。
>>> import numpy as np
>>> x = [1, 2, 3, 4]
>>> y = [1, 2, 3, 4]
>>> z = [1, 2, 2, 4]
>>> x == y
[True, True, True, True]
>>> x == z
[True, True, False, True]
在此之后,只需使用numpy来确定整个列表。
>>> np.all(x == y)
True
>>> np.all(x == z)
False
或者如果只需要一个相似性:
>>> np.any(x == z)
True