如何在主循环中更新值

时间:2017-02-28 08:15:40

标签: python-3.x loops for-loop while-loop

我在while循环中有for循环。并且,我想将l循环中的值while更新为for循环。 因为,在这种情况下,例如:l==5处于while循环中,l==1位于for循环中。

  for l in range(len(csvLines)):
     if ";" in str(csvLines[l][:2]):
         objectType = int(csvLines[l][:1])
         while objectType == 0:
             l = l+1
             if ";" in str(csvLines[l][:2]):
                 objectType = int(csvLines[l][:1])
             else:
                 objectType = int(csvLines[l][:2])
         else:
             pass
     else:
         objectType = int(csvLines[l][:2])

1 个答案:

答案 0 :(得分:0)

您可以针对当前l次迭代更改for,但只要下一次for次迭代开始,就会为l分配下一个值range }。如果要修改迭代索引,请使用while,例如这样。

l = 0  # you have to initialize it manually
while l < len(csvLines):
   ...
   l += 1   # you have to increase it manually at the end of the current iteration

注意:在循环中增加l时,您必须确保它仍然< len(csvLines)csvLines[l]的下次访问权限失败。