您正在寻找zip https://docs.python.org/2/library/functions.html#zip
z = [i == j for i,j in zip(x,y)]
但你最好加上int https://docs.python.org/2/library/functions.html#int调用以获得您想要的输出
>>> z = [int(i == j) for i,j in zip(x,y)]
>>> z
[1, 0, 1, 0, 0]
否则你会得到一个类似的列表[True, False, True, False, False]
As ajcr https://stackoverflow.com/users/3923281/ajcr在a中提到comment https://stackoverflow.com/questions/32996293/comparing-values-in-two-lists/32996311?noredirect=1#comment53817743_32996311,如果列表很长,最好使用 itertools.izip 而不是 zip。这是因为它返回一个迭代器而不是列表。这在文档 https://docs.python.org/2/library/itertools.html#itertools.izip
像 zip() 一样,除了它返回一个迭代器而不是一个列表。
demo
>>> from itertools import izip
>>> z = [int(i == j) for i,j in izip(x,y)]
>>> z
[1, 0, 1, 0, 0]