我建议为此使用
while循环实现自己的生成器。范例-
def varied_step_range(start,stop,stepiter): step = iter(stepiter) while start < stop: yield start start += next(step)
然后,您可以将其用作-
for i in varied_step_range(start,stop,steplist): #Do your logic.
我们这样
step = iter(stepiter)做是
stepiter可以进行任何迭代的。
演示-
>>> def varied_step_range(start,stop,stepiter):... step = iter(stepiter)... while start < stop:... yield start... start += next(step)... >>> for i in varied_step_range(0,10,[1,2,3,4]):... print i... 0136



