如何在python中循环遍历多个列表

时间:2016-10-11 19:34:54

标签: python list loops

下面,set1,set2,set3是len(setn)= len(index)的列表。我想循环遍历每个列表(setn),如下所示,

index = range(10)
set1 = range(10,20)
set2 = range(30,40)
set3 = range(40,50)
listset = [set1, set2, set3]
for i in listset:
  for k, j in zip(index, i):
     print k, j

Result:
0 s
1 e
2 t
3 1
0 s
1 e
2 t
3 2
0 s
1 e
2 t
3 3

如何获得打印“index,set1”(如下所示)的每个元素的结果,后跟“index,set2”,后跟“index,set3”。

0 10
1 11
2 12
3 13
4 14
5 15
6 16
7 17
8 18
9 19
and so on...

2 个答案:

答案 0 :(得分:1)

您可以将set1,2和3连接在一起,然后使用itertools.cycle(index)并将生成的两个内容压缩在一起:     zip(itertools.cycle(index), set1 + set2 + set3)

答案 1 :(得分:1)

您希望合并enumerateitertools.chain

from itertools import chain
s1 = range(10)
s2 = range(10, 20)
s2 = range(20, 30)
c = chain(enumerate(s1), enumerate(s2), enumerate(s3))
for i, n in c:
    print(str(i).ljust(4), n)