ホームページ >バックエンド開発 >Python チュートリアル >Python でリストのリストをフラット化する最も効率的な方法は何ですか?
リストのリストのフラット化
リストのリストのフラット化には、ネストされた構造を単一レベルのリストに変換することが含まれます。 Python では、これはいくつかのメソッドを使用して実現できます。
ネストされたリストの内包
最も効率的な方法は、ネストされたリストの内包です。
flat_list = [x for xs in xss for x in xs]
この式は各内部リストを反復処理し、結果として得られるフラットに各要素を追加します。 list.
演算子の使用
演算子を使用してリストをフラット化することもできます。
flat_list = [] for xs in xss: flat_list = flat_list + xs
このメソッドはリスト内包よりもわずかに遅くなります。リストの連結が繰り返されるため。
を使用空のリストを使用した合計
別のアプローチでは、空のリストを使用した sum 関数を使用します。
flat_list = sum(xss, [])
この方法は、特に大きなリストの場合、リストの内包よりも効率が低くなります。
使用中functools.reduce
最後に、functools.reduce 関数を使用できます。
from functools import reduce flat_list = reduce(lambda xs, ys: xs + ys, xss)
やはり、このメソッドはリスト内包表記よりも遅くなります。
パフォーマンスtimeit モジュールを使用したテストでは、リストの理解が最も速いことが示されています。メソッド。
以上がPython でリストのリストをフラット化する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。