【问题标题】:About the python for loop关于python for循环
【发布时间】:2021-04-25 11:36:45
【问题描述】:

在 for 循环内部,当 I(for 循环索引)到达索引 4 时,它执行第 11 行到第 13 行的代码,并将索引变量减少一个单位。所以现在 I 的值是 3,当 for 循环在下一次迭代时,I 的值应该是 4,但它会将 5 分配给 I。

l = [3,5,2,4]
l.append(7)
print(l)
l.extend([6,8,9,11,13])
print(l)
for i in range(0,len(l),1):
    if len(l)<i:
         break
    if l[i]>=7:
        del(l[i])
        i=i-1
print(l)

Python 导师:

【问题讨论】:

  • i 中减去 1 并不会在下一次通过 for 循环时减一。无论您如何在循环中修改i 的值,它将被分配来自range 函数的下一个值。
  • 请格式化您的代码。

标签: python python-3.x windows for-loop iterator


【解决方案1】:

对于您的用例,使用允许您更改索引变量值的 while 循环可能会更好。对于您的情况,也许以下内容就足够了:

l = [3,5,2,4]
l.append(7)
print(l)
l.extend([6,8,9,11,13])
print(l)
i = 0
while i in range(0,len(l)):
    if l[i]>=7:
        del(l[i])
        i=i-1
    i+=1
print(l)

【讨论】:

    猜你喜欢
    • 2012-01-07
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多