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)