Python では、同じ繰り返し要素を含む複数のリストをさまざまな方法で作成できます。この説明では、リストの内包表記をバイパスする方法について説明します。
解決策:
Python には、要素を複製するための演算子 * が用意されています。要素 e が n 回出現するリストを作成するには、式 [e] * n を使用します。
例:
e = 5 list_of_e = [e] * 10 # [5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
注:
e が空のリストの場合、このメソッドは同じ空のリストへの n 個の参照を持つリストを作成します。独立した空のリストを提供するには、別のアプローチが必要です。
パフォーマンス評価:
itertools.repeat() は最初は高速に見えますが、比較を実行するにはリストに変換する必要があります。 。演算子 * はリストを直接返すため、パフォーマンスが向上します:
import timeit n = 1000000 timeit.timeit('[0] * 10', number=n) # Faster timeit.timeit('list(itertools.repeat(0, 10))', number=n) # Slower
結論:
リスト内包表記を使用せずに繰り返される要素のリストを作成するには、* 演算子を利用します。 、簡潔で効率的なソリューションを提供します。要素の遅延生成が必要な場合は、 itertools.repeat().
を検討してください。以上がリスト内包表記を使用せずに、Python で繰り返し要素を含むリストを効率的に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。