この記事では、Pythonで辞書のネスト(入れ子構造)と複数次元辞書の操作について詳しく解説します。具体的なコード例とその解説、応用例を含めています。
目次
基本的な辞書のネストとは?
Pythonの辞書(dictionary)は非常に柔軟なデータ構造です。キー(key)と値(value)のペアでデータを管理しますが、値としてさまざまなデータ型を持つことができます。そのため、辞書の中に辞書を持つ、いわゆる「辞書のネスト(入れ子)」も可能です。
基本形
my_dict = {
"key1": "value1",
"key2": {
"nested_key1": "nested_value1",
"nested_key2": "nested_value2"
}
}
このように、”key2″の値として別の辞書が格納されています。
複数次元辞書の操作
「複数次元の辞書」とは、辞書の中に辞書が存在し、その中にさらに辞書が存在する……といった形になっている辞書を指します。
複数次元辞書の作成
multi_dim_dict = {
"level1": {
"level2": {
"level3": "value"
}
}
}
複数次元辞書のアクセス
# level3の値を取得する
value = multi_dim_dict["level1"]["level2"]["level3"]
print(value) # 出力:value
応用例
応用例1: ユーザーのプロフィール管理
users = {
"Alice": {
"email": "alice@email.com",
"age": 30,
"address": {
"country": "Japan",
"city": "Tokyo"
}
},
"Bob": {
"email": "bob@email.com",
"age": 25,
"address": {
"country": "USA",
"city": "New York"
}
}
}
# Aliceの年齢を取得
print(users["Alice"]["age"]) # 出力:30
応用例2: 在庫管理
inventory = {
"fruits": {
"apple": 10,
"banana": 5
},
"vegetables": {
"carrot": 12,
"broccoli": 3
}
}
# バナナの在庫を取得
print(inventory["fruits"]["banana"]) # 出力:5
応用例3: 設定値の管理
config = {
"db": {
"host": "localhost",
"port": 3306
},
"api": {
"endpoint": "http://api.example.com",
"timeout": 10
}
}
# APIのタイムアウト設定を取得
print(config["api"]["timeout"]) # 出力:10
まとめ
Pythonでの辞書のネストや複数次元辞書の操作は、データの階層構造を綺麗に管理する上で非常に有用です。特に設定管理やデータの整理、複雑な情報を扱う場合にはその力を発揮します。この記事を通じて、基本的な操作から応用例まで、辞書の高度な使い方について理解が深まったことでしょう。
コメント