ホームページ >バックエンド開発 >Python チュートリアル >Python で繰り返し項目の大きなリストを作成する最も効率的な方法は何ですか?
繰り返し項目のリストを効率的に作成する
Python では、繰り返し要素を含むリストを作成するのが一般的なタスクです。 1 つの方法は、リスト内包表記を使用することです (例: [範囲(n) の数値には e])。ただし、このアプローチは、特に大きなリストの場合、非効率的になる可能性があります。
代替アプローチ
代替方法は、itertools モジュールから Python の組み込みrepeatメソッドを使用することです。
itertools.repeat(e, n)
これは、オンデマンドで e の値を繰り返し生成するオブジェクトを作成します。リストを取得するには、単純に変換します。
list(itertools.repeat(e, n))
パフォーマンスに関する考慮事項
ただし、最初は、repeat の方がリストの乗算方法 ([e] * n) よりも高速に見える場合があります。 、具体的なリストではなくオブジェクトを作成します。リストを作成するには、変換する必要があります。
[e] * n
このアプローチでは、e の n 個のコピーで満たされたリストが直接作成されます。
パフォーマンス テスト
パフォーマンス テストにより、大規模なリストの場合、リストの乗算が大幅に増加することが明らかになりました。より高速:
## 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 中国語 Web サイトの他の関連記事を参照してください。