使用for循环比较列表的位置

时间:2013-04-12 06:22:53

标签: python list loops for-loop position

如果有两个列表:

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"

我正在寻找的结果是:

  再见再见再见

如何实现这一结果?

2 个答案:

答案 0 :(得分:6)

从你的例子看,你是在正确的轨道上。但我认为你误解了q和w代表什么。

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

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

答案 1 :(得分: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