LoginSignup
14
13

はじめに

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

dictとは

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

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

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

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

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

基本操作

要素の追加・更新

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

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

要素の取得

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

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

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

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

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

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

要素の削除

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

Python
del my_dict[key]  # 要素の削除

要素の存在チェック

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

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

よく使われるメソッド

keys()

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

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

values()

辞書の値を取得します。

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

items()

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

Python
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)

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

Python
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)

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

Python
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)

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

Python
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()

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

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

copy()

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

Python
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)

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

Python
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()

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

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

in キーワード

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

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

dict.fromkeys(keys, value)

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

Python
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()

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

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

dict.setdefault(key, default)

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

Python
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において非常に便利なデータ構造です。
ぜひ理解を深め、自由自在に扱えるレベルまで持っていきましょう。

14
13
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
13