Python Code Notes

Information by python engineer

辞書型の使い方まとめ Python

目次

辞書型(dictionary)の基本的な使い方

- 辞書型オブジェクトの生成

dictionary = {"雨":"rain", "山":"mountain", "電車":"train"}
print(dictionary)

出力:{'雨': 'rain', '山': 'mountain', '電車': 'train'}

上記の例では、「雨」と「rain」、「山」と「mountain」、「電車」と「train」の組み合わせが要素で、「雨」「山」「電車」をキー(key)、「rain」「mountain」「train」をバリュー(value)と呼びます。

- キーに対応するバリューを取り出す

辞書型オブジェクトに、[キー]を付けることで、対応するバリューを取り出せます。

dictionary = {"雨":"rain", "山":"mountain", "電車":"train"}
print(dictionary["雨"])

出力:rain

- 新たな要素を追加

「辞書型オブジェクト[新しいキー] = 新しいバリュー」で要素を追加できます。

dictionary = {"雨":"rain", "山":"mountain", "電車":"train"}
dictionary["赤"] = "red"
print(dictionary)

出力:{'雨': 'rain', '山': 'mountain', '電車': 'train', '赤': 'red'}

- 既存のバリューを変更

「辞書型オブジェクト[既存のキー] = 新しいバリュー」でバリューを変更できる。

dictionary = {"雨":"rain", "山":"mountain", "電車":"train", "赤":"red"}
dictionary["赤"] = "RED"
print(dictionary)

出力:{'雨': 'rain', '山': 'mountain', '電車': 'train', '赤': 'RED'}

要素を削除する方法

- すべての要素を削除(clearメソッド)

clearメソッドを使用すると、辞書内のすべての要素を削除することができます。

dictionary = {"雨":"rain", "山":"mountain", "電車":"train"}
dictionary.clear()
print(dictionary)

出力:{}

- キーを指定して削除(del文)

del文を用いて、キーを指定して要素を削除することができます。

dictionary = {"雨":"rain", "山":"mountain", "電車":"train"}
del dictionary["雨"]
print(dictionary)

出力:{'山': 'mountain', '電車': 'train'}

- キーを指定して削除+削除したバリューを取得(popメソッド)

popメソッドを用いると、キーを指定して要素を削除し、かつそのバリューを取得できます。

dictionary = {"雨":"rain", "山":"mountain", "電車":"train"}
d = dictionary.pop("雨")
print(dictionary)
print(d)

出力:

{'山': 'mountain', '電車': 'train'}
rain

キー(key)、バリュー(value)を抜き取る方法

- キー(key)を抜き取る方法(keysメソッド)

keysメソッドを用いて、辞書のキーのみを抜き取ることができます。

dictionary = {"雨":"rain", "山":"mountain", "電車":"train"}
d_keys = dictionary.keys()
print(d_keys)

出力:dict_keys(['雨', '山', '電車'])

ただし、keysメソッドで生成されるオブジェクトは「dict_keys」クラスのため、通常のリストの様には扱えません。リストにする場合は、リストオブジェクトに変換する必要があります。

d_keys = list(d_keys)
print(d_keys)

出力:['雨', '山', '電車']

- バリュー(value)を抜き取る方法(valuesメソッド)

同様に、valuesメソッドを用いて、辞書のバリューのみを抜き取ることができます。

dictionary = {"雨":"rain", "山":"mountain", "電車":"train"}
d_values = dictionary.values()
print(d_values)

出力:dict_values(['rain', 'mountain', 'train'])

valuesメソッドで生成されるオブジェクトは「dict_values」クラスのため、こちらも通常のリストの様には扱えません。リストにする場合は、リストオブジェクトに変換する必要があります。

d_values = list(d_values)
print(d_values)

出力:['rain', 'mountain', 'train']