假如我有:
list1 = [1,6]
list2 = [1]
如果列表数值匹配,我想要做一些事情!
比较它并在此之后执行相关操作。
假如我有:
list1 = [1,6]
list2 = [1]
如果列表数值匹配,我想要做一些事情!
比较它并在此之后执行相关操作。
if list1 == list2: # compare lists for equality
doStuff() # if lists are equal, do stuff after that
当然,您需要澄清“如果列表值匹配”是什么意思。上面代码将检查两个列表是否具有相同的元素,并且这些元素在相同的位置上 - 也就是说,它们是相等的。
编辑:
问题不太清楚,以下是一些可能的解释。要检查list1
中的所有元素是否也在list2
中,请执行以下操作:
if all(x in list2 for x in list1):
doStuff()
如果想要对 list1
中与 list2
相同的每个元素执行某些操作,请使用以下方法:
for e in set(list1) & set(list2):
doStuff(e)
any()
:>>> L1 = [1,6]
>>> L2 = [1]
>>> any(i in L1 for i in L2)
True
L2
中的每个项目,如果L2
中的任何项目在L1
中,则返回True
。>>> for i in L2:
... if i in L1:
... print i, "is in L1"
... else:
... doStuff(i)
[1,2,3]
和[3,2,1]
是相等的。 - Markus Unterwaditzer简单的方法,虽然不一定是最有效的(使用{{link1:all()
}}而不是any()
):
listsEqual = len(list1) == len(list2) and all(list1[i] == list2[i] for i in range(len(list1))
如果list1中的所有元素都在list2中,则返回True
。 - Óscar López