跳到内容

loop-iterator-mutation (B909)

源自 flake8-bugbear linter。

此规则不稳定且处于预览状态。使用需要 --preview 标志。

作用

检查在循环迭代期间对可迭代对象的更改。

为什么这不好?

当迭代一个可迭代对象时,更改可迭代对象可能会导致意外的行为,例如跳过元素或无限循环。

示例

items = [1, 2, 3]

for item in items:
    print(item)

    # Create an infinite loop by appending to the list.
    items.append(item)

参考