Pythonの内包表記について
更新日 : 2024/2/13
最近Pythonについて勉強していて、リスト内容表記が便利だったので備忘としてまとめます。
目次
基本形
リスト内包型表記の基本形は以下です。一言で簡単に説明すると、
「listの1つ1つの要素をitemとして取り出し、新要素new_itemとしてnew_listに追加する。」
という感じです。
例としては、リスト内包表記を使わず以下のように書いていたプログラムを以下のように簡潔に書くことができます。ちなみにリストだけでなく文字列でも使うことができ、
文字列の場合は先頭から1文字1文字取り出して処理することができます。
1new_list = [new_item for item in list]
「listの1つ1つの要素をitemとして取り出し、新要素new_itemとしてnew_listに追加する。」
という感じです。
例としては、リスト内包表記を使わず以下のように書いていたプログラムを
1list = [1, 2, 3]
2new_list = []
3for item in list:
4 new_item *= 2
5 new_list.append(new_item)
6 # new_list = [2, 4, 6]
1list = [1, 2, 3]
2new_list = [item * 2 for item in list]
3# new_list = [2, 4, 6]
文字列の場合は先頭から1文字1文字取り出して処理することができます。
ifとの組み合わせ
リスト内包表記はifと組み合わせることができます。
ifと組み合わせることで、元となるリストから取得する要素をフィルタできます。
書き方は以下です。
例として、リスト内包表記を使わず以下のように書いていたプログラムを以下のように書くことができます。
ifと組み合わせることで、元となるリストから取得する要素をフィルタできます。
書き方は以下です。
1new_list = [new_item for item in list if condition]
1list = [1, 2, 3, 4]
2new_list = []
3for item in list:
4 if item % 2 == 0:
5 new_item *= 2
6 new_list.append(new_item)
7 # new_list = [4, 8]
1list = [1, 2, 3, 4]
2new_list = [item * 2 for item in list if item % 2 == 0]
3# new_list = [4, 8]
最後に
一旦以上ですが、 if elseのあわせ技や、
タプルで使えたりもするようなので それら今後追記したいと思ったことがあれば追記します。
それでは!
タプルで使えたりもするようなので それら今後追記したいと思ったことがあれば追記します。
それでは!