不必要的 list 强制转换 (PERF101)
源自 Perflint linter。
修复总是可用的。
作用
检查 for 循环可迭代对象上显式的 list
转换。
为什么这不好?
使用 list()
调用来急切地迭代已经可迭代的类型(例如元组、列表或集合)是低效的,因为它强制 Python 不必要地创建一个新列表。
删除 list()
调用不会改变代码的行为,但可能会提高性能。
请注意,与所有 perflint
规则一样,这仅用作微优化,并且在大多数情况下对性能的影响可以忽略不计。
示例
建议改为
修复安全性
如果 list()
调用中有注释,则此规则的修复被标记为不安全,因为注释可能会被删除。
例如,在以下情况下,修复将被标记为不安全