如何在 Python 中进行循环循环?
python 201
原文标题 :How to do cycle loop in Python?
我在python列表中进行循环迭代时遇到问题,如果它达到列表的最大值,那么它将反转到列表的开头,它将从头开始再次迭代。例如我有[3,4,5]
列表然后我想循环这6次。所以迭代将是
3, 4, 5, 4, 3, 4, 5...
那么如何做这个循环呢?
回复
我来回复-
j1-lee 评论
您可以使用
itertools.cycle
进行一些切片:from itertools import cycle, islice lst = [3,4,5] cycler = cycle(lst[:-1] + lst[:0:-1]) print(list(islice(cycler, 10))) # [3, 4, 5, 4, 3, 4, 5, 4, 3, 4]
2年前 -
Samwise 评论
首先通过切片构造一个可循环的列表版本——向前和向后移动列表并删除每个列表的最后一个元素以防止它们重复:
>>> nums = [3, 4, 5] >>> cycle = nums[:-1] + nums[:0:-1]
然后使用
%
运算符迭代任意次数,同时将其保持在列表范围内:>>> for i in range(6): ... print(cycle[i % len(cycle)]) ... 3 4 5 4 3 4
2年前