単一の繰り返し要素を含むリストを効率的に生成する
それぞれのリストに特定の要素が含まれ、さまざまな回数繰り返されるリストを作成する必要があるとします。回。各リストにリスト内包表記を使用せずにこれを実現するにはどうすればよいですか?
リスト乗算を使用した解決策
リスト内包表記とは別に、リスト乗算を使用してリストを作成できます。要素 e を n 回繰り返すだけで、長さ n のリストが得られます。
[e] * n
追加の考慮事項
e が空のリストの場合、このアプローチではn 個の独立した空のリストではなく、同じ空のリストへの n 個の参照を持つリスト。
パフォーマンステスト
初期パフォーマンス テストでは、repeat 関数がリスト乗算よりも高速であることが示される場合があります。ただし、repeat は実際にはリストを作成しないため、これは誤解を招きます。必要に応じてリストに変換できる反復可能オブジェクトが作成されます。
実際のリストの作成と比較すると、リストの乗算は、繰り返しの反復可能オブジェクトをリストに変換するよりも大幅に高速です。したがって、リストを作成する目的には、リスト乗算を使用することをお勧めします:
[e] * n
以上がリスト内包表記を使用せずに、繰り返し要素を含むリストを効率的に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。