我可以在 Python 中做这样的事情吗?
for (i = 0; i < 10; i++):
if someCondition:
i+=1
print i
我需要能够根据条件跳过一些值
编辑:到目前为止,所有解决方案都建议根据已知条件以一种或另一种方式修剪初始范围。这对我没有用,所以让我解释一下我想要做什么。
我想手动(即没有 getopt)解析一些 cmd 行参数,其中每个“关键字”都有一定数量的参数,如下所示:
for i in range(0,len(argv)):
arg = argv[i]
if arg == '--flag1':
opt1 = argv[i+1]
i+=1
continue
if arg == '--anotherFlag':
optX = argv[i+1]
optY = argv[i+2]
optZ = argv[i+3]
i+=3
continue
...
最佳答案
是的,我就是这样做的
>>> for i in xrange(0, 10):
... if i == 4:
... continue
... print i,
...
0 1 2 3 5 6 7 8 9
编辑
根据对您原始问题的更新...我建议您查看 optparse
关于Python:是否有类似 C 的 for 循环可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3354313/