python中的for循环迭代更新问题

时间:2018-08-31 08:29:33

标签: python

我每次尝试为循环更新python的iterator变量的值时都会遇到此问题。只是不允许我更新变量。

  for i in range(1,10):
      print(i)
      i=i+5
      print(i)

    The output turn out to be:
   1
   6
   2
   7
   3
   8
   4
   9
   5
   10
   6
   11
   7
   12
   8
   13
   9
   14

如果我想更新iterator变量,谁能给我这个输出的解释和我的问题的解决方案?

1 个答案:

答案 0 :(得分:0)

range(1, 10)是一个范围对象(如果是python 2,则列出该对象)。并且每次for循环开始时,都会将元素从该可迭代对象分配到i变量中。然后循环继续。即使您在for循环中更新i的值。当for循环再次开始时,它将重新分配给range对象返回的下一个元素。

因此,我认为您需要的是一个跳过5个数字的step参数。因此,您可以尝试这样的事情。

x = range(1, 10, 5),其中5作为步骤参数。