您无法设置起始位置;它总是在给定序列开始的地方开始。
在将循环用于任何需要的用途之前,您 可以
按照几个步骤进行移动。使用
itertools.islice()跳过一些项目:
from itertools import islicestarting_at_three = islice(positions, 2, None)
您传入可迭代的值,然后传入一个起始值和终止值;
None此处意味着
islice()迭代器永远持续下去,或者直到基础
positions迭代器用完为止。
演示:
>>> from itertools import islice, cycle>>> positions = cycle([1, 2, 3, 4])>>> starting_at_three = islice(positions, 2, None)>>> next(starting_at_three)3>>> next(starting_at_three)4>>> next(starting_at_three)1
另一种选择是按照不同的顺序传递;
[3, 4, 1, 2]例如,您可以传递。



