LoginSignup
5
6

More than 5 years have passed since last update.

python初心者の備忘録 内包表記について

Last updated at Posted at 2017-06-09

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))

のようにするとジェネレータオブジェクトが出来る。
ジェネレータが何かは今は知らない。

5
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6