首頁 >後端開發 >Python教學 >在 Python 中建立大量重複項的最有效方法是什麼?

在 Python 中建立大量重複項的最有效方法是什麼?

Susan Sarandon
Susan Sarandon原創
2024-12-09 05:29:10490瀏覽

What's the Most Efficient Way to Create Large Lists of Repeated Items in Python?

有效率地建立重複項清單

在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn