假设我有两个列表,foo
和bar
实例化如下:
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
可用吗?
答案 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) )