初心者のためのpython入門

自分がつまづいたところやつまづきやすいところを中心に書いていきます。また、役に立つライブラリの紹介などをしていきます。

セット内包表記・辞書内包表記

前書き

最近は、インターンなどで忙しく、更新をサボっていました...。また、書いていこう思います。
今回は、セット内包表記と辞書内包表記です。今回の内容は、前回のものと本質的にはあまり変わりません。

辞書内包表記

辞書内包表記は、次のようなになります。

辞書内包表記は、 1. イテレータから1つずつ要素を取り出す 2. 変数1・変数2(変数)にそれぞれ代入する 3. それらを式1・式2で評価する 4. 辞書に加える

という一連の流れを繰り返します。辞書におけるキーに式1・値に式2がそれぞれ対応します。

# sample.py
d1 = {k: v for k, v in zip(['one', 'two', 'three'], [1, 2, 3])}
print(d1)
print(d1['one'])

d2 = {str(k): k for k in range(10)}
print(d2)
# 実行結果
{'one': 1, 'two': 2, 'three': 3} # print(d1)
1 # print(d1['one'])
{'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} # print(d2)

セット内包表記

セット内包表記は、次のようになります。

セット内包表記の処理もほとんど辞書内包表記と同じです。

# sample.py
s1 = {k for k in range(10)}
print(s1)

s2 = {k for k in range(10) if k % 2} # 後置ifも使える
print(s2)
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} # print(s1)
{1, 3, 5, 7, 9} # print(s2)

あとがき

お疲れ様でした。これからまたのんびり書いていきます。次回は、可視化のライブラリであるseabornか機械学習のライブラリであるsklearnについて紹介します。