Python dictについて

python Python

dictとは

dictは、キー(Key)と値(Value)のペアによる辞書構造です。キーは一意でイミュータブル(変更不可)。

dictの作成

dictは色々な方法で作成できるので、ここでまとめておきます。

波括弧でKey/Valueペアを指定

d = {}
d = {'Paul': 100, 'Tom': 120, 'Taro': 142}
print(d)
# {'k1': 1, 'k2': 2, 'k3': 300}
d = {'Paul': 100, 'Tom': 120, 'Taro': 142, 'Taro': 150}
# keyが重複すると上書きされる
print(d)
# {'Paul': 100, 'Tom': 120, 'Taro': 150}

Dictのコンストラクタを使う

d = dict(Dog = 10, Cat = 20, Godzilla = 30)
print(d)
# {'Dog': 10, 'Cat': 20, 'Godzilla': 30}

listから作成する

animals = [['Cat',10], ['Dog',12], ['Godzilla',220]]
d = dict(animals)
print(d)
# {'Cat': 10, 'Dog': 12, 'Godzilla': 220}

dictを結合して新しいdict

二つのdictをコンストラクタにアンパックして渡すことで新しいdictを作成できます。ただし使えるのはPuthon3.5以降。

d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}
d = dict(**d1, **d2)
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4}

内包表記を使う

d = {f'key{x}': x for x in range(2)}
print(d)

zipと内包表記を使う。

keys = ['k1', 'k2', 'k3']
values = [1, 2, 3]

d = {k: v for k, v in zip(keys, values)}
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

コメント

タイトルとURLをコピーしました