我有以下类似内容:
#tokens is a list of a few words
for i in xrange(0,len(tokens)):
#some code to modify the contents of token[i]
if tokens[i] == some value:
del tokens[i]
现在如果数组有7个元素,i的取值范围是0到6,在处理过程中如果我删除了一个数组元素,则新的大小变为6,但循环仍将运行到i=6并访问tokens[6],这将引发错误,因为新的大小是6,即最大索引为5。
我想我可以使用while循环,并加上一些条件,例如:
while(i<currMaxIndex)
我希望能够动态更改currMaxIndex。
但是我很好奇是否有一种方法可以在for循环本身中修改i。
如果您一定需要知道,这是我的代码:
for i in xrange(0,len(tokens)):
tokens[i]=tokens[i].translate(string.maketrans("",""),string.punctuation)
if tokens[i]=='':
del tokens[i]