使用python列表进行while循环
我怎样才能做到这一点使用python列表进行while循环,python,list,Python,List,我怎样才能做到这一点 1,1 2,2 3,3 4,4 5,5 6,1 7,2 8,3 9,4 10,5 此代码未被选中,您可能需要对其进行一些修改。您的任务就是构建itertools.cycle的目的(来自Python的标准库): 您可以尝试以下更简单的方法: In [5]: from itertools import cycle In [6]: for i, j in zip(xrange(1, 11), cycle(my_list)): ...: print i, j
1,1
2,2
3,3
4,4
5,5
6,1
7,2
8,3
9,4
10,5
此代码未被选中,您可能需要对其进行一些修改。您的任务就是构建itertools.cycle的目的(来自Python的标准库):
您可以尝试以下更简单的方法:
In [5]: from itertools import cycle
In [6]: for i, j in zip(xrange(1, 11), cycle(my_list)):
...: print i, j
...:
1 1
2 2
3 3
4 4
5 5
6 1
7 2
8 3
9 4
10 5
In [7]: for i, j in zip(xrange(12), cycle(my_list)):
...: print i, j
...:
0 1
1 2
2 3
3 4
4 5
5 1
6 2
7 3
8 4
9 5
10 1
11 2
输出:
my_list = [1,2,3,4,5]
newList = (enumerate(my_list*2))
for num in newList:
print(num)
您可能不需要while循环:
list(enumerate(my_list*2,1))
您的循环将永远不会运行,因为您从10开始i
,并且仅当i
小于10时才循环。我不知道你为什么认为那样行得通。开始i
您想要开始的地方(本例中为1)。你还有其他的问题,但当你解决这些问题时,它们会有明确的解决方案。你从i=10开始,因此你永远不会进入while循环。
for x in range(10):
print(x+1,list[x%len(list)])
In [5]: from itertools import cycle
In [6]: for i, j in zip(xrange(1, 11), cycle(my_list)):
...: print i, j
...:
1 1
2 2
3 3
4 4
5 5
6 1
7 2
8 3
9 4
10 5
In [7]: for i, j in zip(xrange(12), cycle(my_list)):
...: print i, j
...:
0 1
1 2
2 3
3 4
4 5
5 1
6 2
7 3
8 4
9 5
10 1
11 2
my_list = [1,2,3,4,5]
newList = (enumerate(my_list*2))
for num in newList:
print(num)
(0, 1)
(1, 2)
(2, 3)
(3, 4)
(4, 5)
(5, 1)
(6, 2)
(7, 3)
(8, 4)
(9, 5)
my_list=[1,2,3,4,5]
for index, item in enumerate(my_list*2, start = 1):
print index,item