【问题标题】:Why is the index not being incremented by 2 positions in this for loop? [duplicate]为什么在这个 for 循环中索引没有增加 2 个位置? [复制]
【发布时间】:2021-06-18 12:05:26
【问题描述】:

我有一个类似的代码需要递增,而 while 循环不能在那里使用,

m = range(10)
for i in range(len(m)):
    print(i)
    i+=2

【问题讨论】:

  • for i in range(0, 10, 2)? range 采用第三个参数,step。
  • 这能回答你的问题吗? Even numbers in Python
  • 只需要在某些条件下而不是每次迭代都需要增加,所以这是行不通的。感谢您的回复。
  • range 在循环中的每一圈为i 发出一个新值。无论你在一个回合中对i 做什么,都不会影响它在下一回合中的值。
  • 那么如果没有 while 循环是不可能的(或者超级笨拙的循环只是模拟一个 while 循环)

标签: python list for-loop iterator increment


【解决方案1】:

这样做:

m = range(10)
nb = 0
for i in range(len(m)):
    print(nb)
    nb+=2

问题是您想将i 用于两个不同的任务。

【讨论】:

    猜你喜欢
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 2016-03-16
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    相关资源
    最近更新 更多