ホームページ >バックエンド開発 >Python チュートリアル >Python のリスト内包表記はどのように機能し、その用途は何ですか?

Python のリスト内包表記はどのように機能し、その用途は何ですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-27 00:55:11958ブラウズ

How Do Python List Comprehensions Work and What Are Their Uses?

リスト内包表記とは?

Python では、リスト内包表記によりリストを作成する簡潔な方法が提供されます。これらを使用すると、各要素が別の反復可能 (反復可能なシーケンスまたはコンテナー) の要素から派生する新しいリストを生成できます。

リスト内包表記の仕組み

リスト内包表記は以下で構成されます:

  • 角括弧 ([]) からリストコンテナを定義します
  • 反復可能を反復する for ループ
  • 反復可能内の各項目を操作する式

内包理解の結果はリストの各要素は、式を各項目に適用した結果を表します。 iterable.

例:

[x ** 2 for x in range(10)]

この内包表記では、0 ~ 9 の範囲の各数値の二乗値のリストが生成され、次のリストが生成されます。 🎜>

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

リストを超えてください内包表記:

リスト内包表記は他のデータ構造に拡張できます。

  • セット内包表記: 式で定義された要素を含むセットを作成します。例: {x の x のrange(10)}.
  • Dict Comprehensions: 式で定義されたキーと値のペアを含む辞書を作成します (例: {key: キーの値、項目の値})。
  • ジェネレーター式: 遅延反復可能であるジェネレーターを作成します。 (x は range(10) の x を表します)。

リスト内包表記の利用:

リスト内包表記は、次のような多彩な使用例を提供します。

    フィルタリング: 条件に基づいてリストを選択的に作成するために使用できます。例: [x for x in range(10) if x % 2 == 0].
  • マッピング: 各要素に操作を適用します。例: [item.strip() for item in ['foo ', 'bar n']].
  • 組み合わせ: 複数の反復可能オブジェクトからの要素を結合します (例: [d[x] for x in)] ['foo', 'baz']].

ネストされたリスト内包表記:

複数レベルの for ループはリスト内包表記で使用できます。 [j の x の [[1, 2, 3], [4, 5, 6]]] の j のx] は、ネストされたリストのフラット化されたバージョンを返します。

ヒント:

    内包表記内の式は、有効な Python 構文である必要があります。
  • ネストされた内包表記を使用する場合、外側の for は内側の for より前に来なければなりませんfor.
  • リスト内包表記は、角括弧なしで関数内で使用できます (例: sum(i**2 for i in range(5)).

以上がPython のリスト内包表記はどのように機能し、その用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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