如何一次遍历两个列表?

时间:2014-02-05 16:38:55

标签: python list

假设我有两个列表,foobar实例化如下:

foo = ['Hello', 'Yes', 'No']
bar = ['Bonjour', 'Oui', 'Non']

然后,假设我想迭代这些值并打印如下的连接:

count = 0
for x in foo:
    print x + bar[count]
    count += 1

哪会给我:

  

HelloBonjour

     

YesOui

     

NONON

是否存在不需要计数迭代器的方法?也许有些事情......

for x in foo and y in bar:
    pint x + y

可用吗?

3 个答案:

答案 0 :(得分:13)

您可以使用zip

foo = ['Hello', 'Yes', 'No']
bar = ['Bonjour', 'Oui', 'Non']
for x, y in zip(foo, bar):
    print x + y

输出:

HelloBonjour
YesOui
NoNon

答案 1 :(得分:0)

当输入列表的大小相同时,Zip会帮助您。如果列表大小不同,则仅对具有另一列表中的对的元素执行操作。如果你想用一些东西填充缺失的对,你可以使用map:

for i,j in map(None,listA,listB):  
    print i+j  

输出:

HelloBonjour
YesOui
NoNon

答案 2 :(得分:0)

你可以试试这个人:

print '\n'.join( map(lambda x, y: x+y, foo, bar) )