如何在 python 3 中从 for 循环内部增加迭代器?

新手上路,请多包涵
for i in range (0, 81):
    output = send command
    while True:
        last_byte = last_byte - offset
    if last_byte > offset:
       output = send command
       i+
    else:
        output = send command
        i+
        break

我想在每次执行发送命令时增加迭代器。现在它只在执行 for 循环时增加 1。请指教

for i in range(0,10):
    print(i)
    i +=2
    print("increased i", i)

我运行这段代码,结果是从 0 到 9。我原以为它会将迭代器增加 2。

原文由 ilaunchpad 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 335
1 个回答

将迭代器的副本保存为命名对象。如果你愿意,你可以跳过。

 >>> myiter = iter(range(0, 10))
>>> for i in myiter:
    print(i)
    next(myiter, None)
...
0
2
4
6
8

原文由 Matt Anderson 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题