見出し画像

【完全網羅】Python dict(辞書)について

はじめに

Pythonのdictについて自分なりに理解を深め、復習するための学習ノート的なものです。
同じように勉強したい方にとって参考になれば幸いです。

dictとは

Pythonにおけるdictは、辞書(Dictionary)とも呼ばれるデータ構造です。dictは、キー(Key)と値(Value)のペアを格納することができます。キーは一意であり、それに対応する値を迅速に検索することができます。

dictは波括弧 {} を使用して作成され、キーと値はコロン : を使用して区切ります。以下は、dictの基本的な構文です。

my_dict = {key1: value1, key2: value2, key3: value3}

ここで、key1、key2、key3はキーであり、value1、value2、value3はそれぞれのキーに対応する値です。キーと値のペアはカンマ , で区切られます。

dictのキーは一意である必要があります。つまり、同じキーを複数回使用することはできません。ただし、値は重複していても構いません。

基本操作

要素の追加・更新

dictに要素を追加または更新するには、キーを指定して値を代入します。

my_dict = {}
my_dict[key] = value  # 要素の追加または更新

要素の取得

dictから要素を取得するには、キーを指定してアクセスします。

value = my_dict[key]  # 要素の取得

もし存在しないキーを指定した場合、KeyErrorが発生します。この場合、キーが存在するかどうかを事前にチェックすることができます。

if key in my_dict:
    value = my_dict[key]
else:
    # キーが存在しない場合の処理

または、get()メソッドを使用してキーが存在しない場合のデフォルト値を指定することもできます。

value = my_dict.get(key, default_value)  # キーが存在しない場合は default_value を返す

要素の削除

dictから要素を削除するには、del文を使用します。

del my_dict[key]  # 要素の削除

要素の存在チェック

キーがdictに存在するかどうかを確認するには、in演算子を使用します。

if key in my_dict:
    # キーが存在する場合の処理

よく使われるメソッド

keys()

辞書のキーを取得します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
keys = my_dict.keys()
print(keys)  # 出力: dict_keys(['name', 'age', 'city'])

values()

辞書の値を取得します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
values = my_dict.values()
print(values)  # 出力: dict_values(['John', 25, 'Tokyo'])

items()

辞書のキーと値のペアを取得します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
items = my_dict.items()
print(items)  # 出力: dict_items([('name', 'John'), ('age', 25), ('city', 'Tokyo')])

get(key, default)

指定したキーに対応する値を取得します。キーが存在しない場合はデフォルト値を返します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
name = my_dict.get("name", "Unknown")
country = my_dict.get("country", "Unknown")
print(name)  # 出力: John
print(country)  # 出力: Unknown

pop(key, default)

指定したキーに対応する値を取り出し、辞書から削除します。キーが存在しない場合はデフォルト値を返します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
age = my_dict.pop("age", None)
country = my_dict.pop("country", "Unknown")
print(age)  # 出力: 25
print(country)  # 出力: Unknown
print(my_dict)  # 出力: {'name': 'John', 'city': 'Tokyo'}

update(other_dict)

別の辞書またはキーと値のペアのコレクションで辞書を更新します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
other_dict = {"country": "Japan", "age": 26}
my_dict.update(other_dict)
print(my_dict)  # 出力: {'name': 'John', 'age': 26, 'city': 'Tokyo', 'country': 'Japan'}

clear()

辞書のすべてのキーと値を削除し、空の辞書にします。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
my_dict.clear()
print(my_dict)  # 出力: {}

copy()

辞書の浅いコピーを作成します。新しい辞書オブジェクトが作成され、元の辞書とは別のメモリ領域に格納されます。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
new_dict = my_dict.copy()
print(new_dict)  # 出力: {'name': 'John', 'age': 25, 'city': 'Tokyo'}

setdefault(key, default)

指定したキーに対応する値を取得します。キーが存在しない場合はキーとデフォルト値を辞書に追加します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
name = my_dict.setdefault("name", "Unknown")
country = my_dict.setdefault("country", "Japan")
print(name)  # 出力: John
print(country)  # 出力: Japan
print(my_dict)  # 出力: {'name': 'John', 'age': 25, 'city': 'Tokyo', 'country': 'Japan'}

len()

辞書内のキーの数を返します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
length = len(my_dict)
print(length)  # 出力: 3

in キーワード

キーの存在を確認します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
if "name" in my_dict:
    print("キー 'name' が存在します。")

dict.fromkeys(keys, value)

指定されたキーのリストから辞書を作成し、すべてのキーに指定された値を割り当てます。

keys = ["name", "age", "city"]
default_value = "Unknown"
my_dict = dict.fromkeys(keys, default_value)
print(my_dict)  # 出力: {'name': 'Unknown', 'age': 'Unknown', 'city': 'Unknown'}

dict.popitem()

辞書からランダムなキーと値のペアを取り出し、そのペアを削除します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
key, value = my_dict.popitem()
print(key, value)  # 出力: 任意のキーと値のペア
print(my_dict)  # 出力: 削除されたペアを除いた辞書

dict.setdefault(key, default)

setdefault() メソッドと同様ですが、新しいキーと値を辞書に追加します。

my_dict = {"name": "John", "age": 25, "city": "Tokyo"}
country = my_dict.setdefault("country", "Japan")
print(country)  # 出力: Japan
print(my_dict)  # 出力: {'name': 'John', 'age': 25, 'city': 'Tokyo', 'country': 'Japan'}

最後に

これらのメソッドを使うことで、辞書の操作やデータの取得・変更が容易になります。辞書はPythonにおいて非常に便利なデータ構造です。
ぜひ理解を深め、自由自在に扱えるレベルまで持っていきましょう。

(おまけ) おすすめ書籍

・ Pythonの勉強を始めるならこれ!


・ 綺麗なコードを書けるようになりたい人必読!



この記事が気に入ったらサポートをしてみませんか?