list1 = [1, 2, 3, 4]
我正在尝试找出一种方法来更改每个打印 i 的步长值
我尝试过的
r = 0
for i in range(0, 10, list1[r]):
print i
r = r + 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
关于python - 更改范围函数内的步长值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33145456/