更改范围内的步长值功能?
发布于 2021-01-29 15:02:20
list1 = [1, 2, 3, 4]
我试图找出一种方法来更改每个打印的步骤值
我尝试过的
r = 0
for i in range(0, 10, list1[r]):
print i
r = r + 1
关注者
0
被浏览
62
1 个回答
-
我建议为此使用
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 ... 0 1 3 6