[python]リスト内包表記
リスト内包表記
あるリストがありそれを元に新しいリストを作成するにはfor文を使うと次のようになります。#初期化
list_1=[]
for i in range(5):
list_1.append(i**2)
print(list_1) #[0, 1, 4, 9, 16]これをリスト内包記法を使うと次のように1行で表せます。[式 for 変数名 in イテラブルオブジェクト]print([i**2 for i in range(5)]) #[0, 1, 4, 9, 16]print([i+i for i in ['a','b','c']]) #['aa', 'bb', 'cc']if文を使った内包表記
内包表記で3項演算子を使うと次のようになります。print(["even" if i%2==0 else "odd" for i in [0,1,2] ] #['even', 'odd', 'even'])3項演算子なのでelseを省くことはできません。
またif文付き内包表記でリストの抽出ができます。
print([i**2 for i in [0,1,2,3,4,5] if i<4] #[0, 1, 4, 9])map関数でリスト作成
あるリストから新しいリストの作成はmap関数を使ってもできます。print(list(map(lambda x: x * x,[0,1,2,3,4]))) #[0, 1, 4, 9, 16]これは内包表記を使って
print([i**2 for i in [0,1,2,3,4]]) #[0, 1, 4, 9, 16]filter関数でリスト抽出
あるリストから要素を抽出するにはfilter関数を使っても出来ます。print(list(filter(lambda x: x<4,[0,1,2,3,4]))) #[0, 2, 4]これはif文付きの内包表記を使って
print([i for i in [0,1,2,3,4] if i%2==0]) #[0, 2, 4]ページ情報
| タイトル | [python]リスト内包表記 |
| URL | https://www.nomuramath.com/tunko3we/ |
| SNSボタン |
[python]リストを分割する
[python]for文の基本
?[python]リストに要素を追加と削除する
list1.append('c')
while文の基本

