単一項目の繰り返しリストの作成
n 回繰り返される同じ要素を含む一連のリストを生成するには、いくつかの方法があります。
一般的な方法の 1 つはリストを使用することです内包表記:
[e for number in range(n)]
ただし、別のアプローチを求める場合は、乗算演算子を使用することを検討してください:
[e] * n
このメソッドは事実上要素 e を n 回複製しますが、e が空のリストの場合、n 個の個別の空のリストではなく、同じリストへの n 個の参照を持つリストが取得されます。
パフォーマンスに関する考慮事項
さまざまなメソッドの時間効率を比較する場合、多くの場合、repeat が [e] * n よりも優れていると想定されます。ただし、繰り返してもすぐにリストが作成されるわけではないことを認識することが重要です。代わりに、必要に応じてリストの作成を可能にするオブジェクトを返します。
より正確なパフォーマンスの比較については、
timeit.timeit('list(itertools.repeat(0, 10))', 'import itertools', number = 1000000)
この変更により、[e] * n が実際のリストを生成するためのより効率的なソリューション。ただし、遅延生成された要素が必要な場合は、繰り返しが依然として有効なオプションです。
以上がPython で繰り返される単一項目のリストを作成する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。