成对循环列表或更多

时间:2014-08-07 16:32:32

标签: python loops python-2.7 for-loop

在python中通过单个列表成对迭代或更多迭代的最简单方法是什么?

list1=['Hello ','World','.','I ','heart ','python']

这样的事情:

for x,y,z in list1:
    print x,y,z

我希望得到的结果是:

  

Hello World。

     

我心灵蟒蛇

我知道我可以这样做,但我想知道是否有不需要索引计数的东西。最好使用for循环。

index=0
while index<len(list1):
     print list1[index],list1[index+1],list1[index+2]
     index+=3

2 个答案:

答案 0 :(得分:0)

最简单的方法是使用zip将列表转换为元组列表,然后你可以迭代它:

list1 = zip(list1[0::2], list1[1::2])
for elem1, elem2 in list1:
   print elem1, elem2

答案 1 :(得分:0)

不确定这是多少或更少pythonic但是

for x, y, z in zip(list1[::3],list1[1::3], list1[2::3]):
  print x+y+z