Python入門

【Python】内包表記(まとめ)

【Python】内包表記(まとめ)

Pythonにおける内包表記に関してまとめます。

Pythonにおける内包表記

Pythonにおいて、内包表記とは既存のリスト等のイテラブル(iterable)なオブジェクトから新しいオブジェクトを生成する際にシンプルに記載するための定義する方法のことを言います。

種類としては「リスト内包表記」「辞書内包表記」「集合内包表記」「ジェネレータ内包表記」といったものがあります。

本記事は、各内包表記について説明しているページへのリンク集となっています。また、内包表記を積極的に使用するべき理由と注意点についても紹介しています。

Note

イテラブル(iterable)なオブジェクトとは反復可能なオブジェクトでリスト(list)、タプル(tuple)、辞書(dict)等が代表的なものになります。また、__iter__()メソッドかもしくは__getitem__()メソッドを持つ任意のクラスのオブジェクトもfor文の繰り返しで使用することができます。

イテラブル(iterable)に関する公式ドキュメントの説明はこちらを参照してください。

リスト内包表記(list comprehension)

内包表記でリストを作成するリスト内包表記については「リスト(list)内包表記の使い方」でまとめていますので参考にしてください。

辞書内包表記(dictionary comprehension)

内包表記で辞書を作成する辞書内包表記については「辞書(dict)内包表記の使い方」でまとめていますので参考にしてください。

集合内包表記(set comprehension)

内包表記で集合を作成する集合内包表記については「集合(set)内包表記の使い方」でまとめていますので参考にしてください。

ジェネレータ内包表記(generator comprehension)

内包表記でジェネレータを作成するジェネレータ内包表記については「ジェネレータ(generator)内包表記の使い方」でまとめていますので参考にしてください。

内包表記を積極的に使用するべき理由と注意点

上記で紹介しているリンクにて、各種内包表記の基本的な使い方を紹介しています。

内包表記は、内包表記を使用しない記載方法よりも内包表記を使用した方が処理速度が速いという特徴があります。そのため、積極的に内包表記を使用するように意識してもらうとよいでしょう。

ただし、注意点として条件が複雑な場合等には、必ずしも内包表記を採用するべきではありません。

チームでの開発をしている場合には、チームメンバーの他の人もソースを読むことになるため、読みやすく内容を理解しやすいように可読性を意識したコードを書くことが重要です。内包表記を使うことでコードが複雑になってしまう恐れがある場合には、内包表記を使用するべきかよく検討するようにしましょう。

まとめ

Pythonにおける内包表記に関してまとめました。内包表記には、種類として「リスト内包表記」「辞書内包表記」「集合内包表記」「ジェネレータ内包表記」といったものがあります。

本記事では、各内包表記の説明ページへのリンク集となっています。また、内包表記を積極的に使用するべき理由と注意点についても記載しています。

Pythonらしいシンプルで読みやすいコードの書き方を「Pythonic(パイソニック)」なコードと言いますが、内包表記も代表的なテクニックの一つかと思います。是非使い方を覚えてもらえるとよいかと思います。