入れ子になったリスト内包表記について
Python では、リスト内包表記は、他のシーケンスを反復処理してリストを作成する簡潔な方法です。単一レベルの反復を伴う単純なリスト内包表記は簡単ですが、ネストされたリスト内包表記はさらに複雑になる可能性があります。
構文と解釈
次のネストされたリスト内包表記を考えてみましょう。
a = [[1, 2], [3, 4], [5, 6]] b = [x for xs in a for x in xs]
この内包により、新しいリスト b は、リストのリストである a の要素を反復処理することによって作成されます。外側のループ (for xs in a) は各内側のリストを反復処理し、内側のループ (for x in xs) は内側のリストの各要素を反復処理します。
ループの展開
ネストされたリストの内包表記を理解する鍵は、実行中のループを視覚化し、次のように展開することです。
for x in [1, 2]: for x in [3, 4]: for x in [5, 6]: yield x
この解きほぐされたループは、ネストされた内包表記を表し、ネストされた構造内のすべての要素を反復処理して、結果のリスト b.
の値を生成する方法を示しています。一般化
ネストされたリストの内包表記の一般規則は、ループ書かれた順に実行され、最後のインデックスが最も速く変化します。これにより、複数レベルのネストされたシーケンスの要素を含むリストを作成できます。
サンプル アプリケーション
ネストされたリストの内包表記は、次のようなタスクに役立ちます。
以上が入れ子になったリストの内包表記は Python でどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。