職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

Python--リスト--13

2020年11月21日 | Python
リスト内包表記


【開発環境】
OS:Win10(64ビット)
言語:Python3.8.5(64bit)
Python の統合開発環境:IDLE
IDLEの操作は別サイト参照のこと

【リスト内包表記の使い方】
・リスト内包表記の書式
リストの中に for 文が組み込まれているような書式
[式 for 変数 in イテラブルオブジェクト]

リスト内包表記を使わない場合
1)直接指定する方法
>>> mylist = [1, 2, 3, 4, 5]
>>> print(mylist)
[1, 2, 3, 4, 5]

2)for 文でする方法
>>> max = 5
>>> mylist = []
>>> for i in range(1, max + 1):
>>> mylist.append(i)
>>> print(mylist)
[1, 2, 3, 4, 5]

3)range オブジェクトを使う方法
>>> max = 5
>>> mylist = list(range(1, max + 1))
>>> print(mylist)
[1, 2, 3, 4, 5]

などが
【リスト内包表記】
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> mylist = [i for i in range(1, 6)]
>>> print(mylist)
[1, 2, 3, 4, 5]
>>> mylist = [i * 10 for i in range(1, 6)]
>>> print(mylist)
[10, 20, 30, 40, 50]
>>>

【条件式を加えたリスト内包表記】
リスト内包表記では条件式を加えて条件式が真となった場合だけリストに要素として追加することができます。書式は次の通りです。
[式 for 変数 in イテラブルオブジェクト if 条件式]

次の例ではイテラブルオブジェクトから取り出した要素の値が 3 の倍数だった場合だけリストに要素として追加しています。

>>> mylist = [i for i in range(1, 20) if i % 3 == 0]
>>> print(mylist)
[3, 6, 9, 12, 15, 18]
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする