スポンサーリンク

Pythonのリスト内包(一重・二重)の書き方

スポンサーリンク
スポンサーリンク
この記事は約2分で読めます。

 

リスト内包について

Pythonにはfor文を使って繰り返し処理を行う機能がある。

リスト内包を使うと、そのfor文を1行で簡潔に記述することができる。

 

リスト内包

 

例1:1から10までの数字をリストにして表示

 

上記のコードは以下と同じ動作になる。

 

ans = [i for i in range(1,11)]

i:リストの要素としたい部分を指定

for以降:for文で処理を記述

 

 

例2:1~10の各数字を10倍してリストで表示

 

 

ans = [i*10 for i in range(1,11)]

i*10:リストの要素としたい部分で計算などもできる

 

 

リスト内包(二重)

 

for文を二重ループで書くことがあるが、リスト内包でも実現できる

例1:1~3を、2つの数字の組合せとしてリストで表示

 

これは、以下のコードと同じ

ans = [[i,j] for i in range(1,4) for j in range(1,4)]

[i,j]:組み合わせの1つとしている

 

for i in range(1,4):外側のループ

 

for j in range(1,4):内側のループ

 

まとめ

リスト内包のメリット

・簡潔に書ける

・リスト内包で記述する方が処理が早くなることがあり、

競技プログラミング等でスコアが伸びる可能性がある。

 

コメント