pythonを学びにあたって大事だと思ったことをメモしていく.
内包表記
リスト内包表記
number_list=[]
for number in range(1,6):
number_list.append(number)
このコードで1~5までの数字のリストが作れる。
しかし、このような書き方でも出来る
number_list=[number for number in range(1,6)]
こっちのほうがスマートだ
条件式の追加もできる
a_list=[number for number in range(1,6) if number % 2 == 1 ]
このコードで1~5までの奇数のリストをつくれる
内包表記を使わない書き方と見比べてみよう
a_list=[]
for number in range(1,6):
if number % 2 ==1:
a_list.append(number)
内包表記のほうがかなりコンパクトだ
また多重ループも内包表記を使うことが出来る
for i in range(1,4):
for k in range(1,6):
print(i,k)
内包表記ver
S =[[i,k] for i in range(2,4) for k in range(1,5)]
print(S)
辞書包括表記
辞書にも内包表記がある。本には包括表記とあった
基本的にはリスト内包表記と同じ書き方。
di={key:key**2 for key in range(1,5)}
こんな辞書が出来る {1: 1, 2: 4, 3: 9, 4: 16}
ジェネレータ内包表記
タプルには内包表記がなく
num=(i for i in range(1,4))
のようにするとジェネレータオブジェクトが出来る。
ジェネレータが何かは今は知らない。