Pythonのdictとは
Pythonのdict(辞書)は、キーと値のペアを保持するデータ構造です。
dictは、他のプログラミング言語でのハッシュマップや連想配列に相当します。
キーには変更不可能(イミュータブル)なデータ型(例えば、文字列、数値、タプルなど)を使用でき、値にはどのようなデータ型でも使用できます。
dictの基本的な使い方
以下はdictの基本的な操作について説明します。
1. dictの作成
dictを作成するには、{}を使ってキーと値のペアを指定するか、dict()コンストラクタを使用します。
# {}を使ってdictを作成 person = { "name": "Alice", "age": 30, "city": "New York" } # dict()を使ってdictを作成 person = dict(name="Alice", age=30, city="New York")
2. 値のアクセス
dictの値にアクセスするには、キーを使用します。
# キーを使って値にアクセス name = person["name"] print(name) # 出力: Alice
キーが存在しない場合、KeyErrorが発生しますが、get()メソッドを使うことで、キーが存在しない場合にデフォルト値を返すようにできます。
# get()メソッドを使って安全にアクセス age = person.get("age", "Unknown") print(age) # 出力: 30 # 存在しないキーを指定 address = person.get("address", "Not specified") print(address) # 出力: Not specified
3. 値の追加・更新
dictに新しいキーと値のペアを追加したり、既存のキーの値を更新したりすることができます。
# 新しいキーと値の追加 person["email"] = "alice@example.com" # 既存のキーの値の更新 person["age"] = 31
4. 値の削除
dictから値を削除するには、delキーワードまたはpop()メソッドを使用します。
# delキーワードを使ってキーと値のペアを削除 del person["city"] # pop()メソッドを使ってキーと値のペアを削除し、値を取得 email = person.pop("email") print(email) # 出力: alice@example.com
5. dictのループ処理
dictの全てのキーと値に対してループ処理を行うには、items()メソッドを使います。
for key, value in person.items(): print(f"{key}: {value}")
6. キーや値の取得
dictのすべてのキーや値を取得するには、それぞれkeys()メソッドとvalues()メソッドを使用します。
# すべてのキーを取得 keys = person.keys() print(keys) # 出力: dict_keys(['name', 'age']) # すべての値を取得 values = person.values() print(values) # 出力: dict_values(['Alice', 31])
7. dictのコピー
dictをコピーするには、copy()メソッドを使用します。
# dictのコピー
person_copy = person.copy()
dictは、Pythonにおいて非常に強力で柔軟なデータ型であり、データの関連付けや高速な検索を行うのに適しています。