1

如果有两个列表:

a = [1,2,3,4,5]
b = [2,1,3,5,4]

我想用一个for循环来比较它们,我必须用for循环,所以不要问为什么,我在想:

for q,w in zip(a,b):
    if a[q] == a[w]:
        print "hi"
    else:
        print "bye"

我正在寻找的结果是这样的:

再见你好再见

它是如何达到这个结果的?

4

2 回答 2

6

从您的示例中可以看出您走在正确的轨道上。但我认为你误解了 q 和 w 代表什么。

在您的示例中, q 和 w 不代表您正在循环的集合的当前元素的索引;它们元素。例如,在该循环的第一次迭代中,q 和 w 将分别为 1 和 2。这可能是您想要的:

for q,w in zip(a,b):
    if q == w:
        print "hi"
    else:
        print "bye"
于 2013-04-12T06:28:24.287 回答
2
>>> a = [1,2,3,4,5]
>>> b = [2,1,3,5,4]
>>> for q, w in zip(a, b):
        print "hi" if q == w else "bye"


bye
bye
hi
bye
bye
于 2013-04-12T06:32:01.010 回答