ホームページ >バックエンド開発 >Python チュートリアル >Python でリストのリストをフラット化する最も効率的な方法は何ですか?

Python でリストのリストをフラット化する最も効率的な方法は何ですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-23 14:01:14492ブラウズ

What's the Most Efficient Way to Flatten a List of Lists in 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。