我正在猜测如何使用这样的条件在python中循环:
for xxx in yyy:
i=5
print(box[0+i])
但是我希望功能打印将显示如下内容:
box[0]
box[5]
box[10]
box[15] #and so on
所以总是在下一个循环中添加相同的总和。
谢谢。
答案 0 :(得分:1)
for i in range(0, len(box), 5):
print(box[i])
另一种方法是使用itertools.islice
,即使不允许索引,它也允许您对任何可迭代对象执行相同的操作:
import itertools
for element in itertools.islice(box, 0, None, 5):
print(element)
答案 1 :(得分:1)
由于您似乎不使用xxx或yyy,因此也可以使用while循环
x = 0
while i < len(box): # (or some other thing to stop the loop)
x = x + 5
print(box[x])
i = i + 1
或带有range()的for循环
for i in range(<some number>):
print(box[i*5])
**编辑:
基于之前的评论:
for i in range(0, len(box),5):
print(box[i])
但是这行不通,因为我的体积会比盒子的长度大五倍...
答案 2 :(得分:0)
如果我正确理解了您的问题...
您想以5的步长打印数组的值
请检查一下:
print(box[0:len(box):5])
答案 3 :(得分:0)
这输出到您的问题想要的。我的版本将字符串连接应用于您的“ box []”项目。
i = 0
for x in [1,2,3,4]:
to_print = i + 5
print('box[{}]'.format(to_print))
i = i + 5