【发布时间】:2014-08-30 20:12:41
【问题描述】:
基本上,我有一个嵌套的 for 循环。在内部循环中,发生了一些事情,我可以跳过 3、4、5 或者我需要跳过的许多迭代。但我不能对外循环做同样的事情。 希望这是有道理的。 这是我的代码:
phraseArray = []
phraseArray2 = []
counterAdd = 0
counter = 0
try:
for i in range(len(wordArray)):
for j in range(len(wordArray2)):
if wordArray[i]==wordArray2[j]:
counter = 0
counter2=3
while True:
if wordArray[i+counter]==wordArray2[j+counter]:
counter = counter+1
if counter==3:
phraseArray.append(wordArray[i+0])
phraseArray.append(wordArray[i+1])
phraseArray.append(wordArray[i+2])
elif counter>3:
phraseArray.append(wordArray[i+counter2])
counter2 = counter2+1
else:
phraseArray.append(" ")
j=j+counter
break
except IndexError:
print phraseArray2
j = j+1 用于跳过某些迭代。我不能对外循环做同样的事情,因为内循环改变了指示需要跳过多少次迭代的计数器变量。有什么建议吗?
提前谢谢各位! :)
【问题讨论】:
-
为外循环维护另一个
counter,并使用i += counter跳过? -
您应该将代码简化到重现问题所需的最低限度,并更明确地说明您希望跳过迭代的条件。也就是说,您可能对
continuekeyword 感兴趣。 -
添加到
j或i甚至不会完成任何事情,因为无论如何这些变量将在循环的下一次迭代中被重置。这不像 C 或 java 中的for循环。 -
你想用你的代码解决什么问题?我觉得,有一个更简单的解决方案。
标签: python list loops iteration