ホームページ >バックエンド開発 >Python チュートリアル >Python でリスト内包表記からネストされたリストを平坦化する方法?
リスト内包表記の結果の平坦化
Python では、リスト内包表記を使用してリストの各要素に関数を適用すると、ネストされる可能性がありますリスト。たとえば、リスト A と、A の各要素をリストに変換する関数 f を考慮すると、リスト内包表記 [f(a) for a in A] によってリストのリストが生成されます。
平坦化された関数型プログラミングの「フラットマップ」演算子や .NET の「SelectMany」演算子と同様に、リストにネストを導入できます。内包表記:
<code class="python">[filename for path in dirs for filename in os.listdir(path)]</code>
これは、複数のネストされたループを使用する次のコードと機能的に同等です:
<code class="python">filenames = [] for path in dirs: for filename in os.listdir(path): filenames.append(filename)</code>
このアプローチを採用すると、要素が次のように取得されるフラット リストが確実に生成されます。最初に外側のリスト dirs を反復し、次に dirs の各要素に適用される関数 f によって返される内側のリストを反復します。
以上がPython でリスト内包表記からネストされたリストを平坦化する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。