如何使用特定条件在python中循环?

时间:2019-08-16 20:15:49

标签: python loops

我正在猜测如何使用这样的条件在python中循环:

for xxx in yyy:
i=5
print(box[0+i])

但是我希望功能打印将显示如下内容:

    box[0]
    box[5]
    box[10]
    box[15] #and so on

所以总是在下一个循环中添加相同的总和。

谢谢。

4 个答案:

答案 0 :(得分:1)

使用range built-in class

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