跳到内容

manual-list-copy (PERF402)

源自 Perflint linter。

作用

检查可以使用列表复制替换的 for 循环。

为什么这不好?

当使用 for 循环创建现有列表的副本时,建议使用 listlist.copy。直接复制更易读且性能更高。

以下面的代码为例,基于 list 的复制在 Python 3.11 上快约 2 倍。

请注意,与所有 perflint 规则一样,这仅用作微优化,并且在大多数情况下对性能的影响可以忽略不计。

示例

original = list(range(10000))
filtered = []
for i in original:
    filtered.append(i)

建议改为

original = list(range(10000))
filtered = list(original)