高效创建重复项列表
在 Python 中,创建包含重复元素的列表是一项常见任务。一种方法是使用列表理解,例如 [e for number in range(n)]。然而,这种方法可能效率较低,尤其是对于大型列表。
替代方法
另一种方法是使用 itertools 模块中的 Python 内置重复方法:
itertools.repeat(e, n)
这将创建一个按需生成 e 重复值的对象。要获取列表,只需将其转换:
list(itertools.repeat(e, n))
性能注意事项
虽然重复最初可能比列表乘法方法([e] * n)更快,它创建一个对象而不是一个具体的列表。要创建列表,需要对其进行转换。
[e] * n
这种方法直接创建一个包含 n 个 e 副本的列表。
性能测试
性能测试表明,对于大型列表,列表乘法显着更快:
## repeat() timeit.timeit('itertools.repeat("foo", 1000000)', number=1000) 0.4600000247131665 ## [e] * n timeit.timeit('["foo"] * 1000000', number=1000) 0.19000002993464403
结论
对于创建重复项目的大型列表,乘以单个项目列表([e] * n)是最佳选择,因为以其卓越的性能。
以上是在 Python 中创建大量重复项的最有效方法是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!