Pythonで多段の辞書型(連想配列)ってどういうこと?
ナカイ君: Pythonで多段の連想配列の使い方が知りたいな。
世界のアオキ: OK、そうだね。多段の連想配列ってのは、辞書の中に辞書が入っている状態を言うんだ。データが階層構造を持っている時にすごく便利なんだよ。
ナカイ君: もっと具体的に教えてくれない?
世界のアオキ: もちろん。たとえば、ある学校のクラスごとに、生徒の名前と成績を管理したい場合、多段の辞書型を使うといいんだ。「学校 = {“1年A組”: {“太郎”: 80, “次郎”: 75}, “1年B組”: {“花子”: 90, “美智子”: 85}}」みたいに使えるんだ。
Pythonで多段の辞書型(連想配列)を作る方法
ナカイ君: わかりやすいコードがあれば教えてほしいな。
世界のアオキ: そうだね、こんな感じで作れるよ。
# 多段の辞書型の作成
学校 = {
"1年A組": {"太郎": 80, "次郎": 75},
"1年B組": {"花子": 90, "美智子": 85}
}
# 多段の連想配列の内容を表示
print(学校)
多段の辞書型(連想配列)の基本的な使い方
ナカイ君: 具体的にはどうやって使うの?
世界のアオキ: それぞれの階層にアクセスするためには、キーを順に指定していくんだ。そして、新しいデータを追加する時も同じようにできるよ。
# 特定のクラスの成績を取り出す
print(学校["1年A組"])
# 特定の生徒の成績を取り出す
print(学校["1年A組"]["太郎"]) # 80
# 新しい生徒の成績を追加
学校["1年A組"]["新しい生徒"] = 85
print(学校["1年A組"])
ナカイ君: 他のパターンがあれば教えてほしいな。
世界のアオキ: 多段の連想配列では、ループを使ってデータを探索したり、特定の条件に合うデータを抽出することもできるんだ。
# 各クラスの生徒の成績をループで表示
for クラス, 生徒情報 in 学校.items():
print(クラス)
for 生徒, 成績 in 生徒情報.items():
print(f" {生徒}: {成績}")
ナカイ君: そうやって使えばいいんだね。
世界のアオキ: そうなんだよね。ただ、多段の連想配列を使う時は、データ構造を事前にしっかり考えておくことが大事だよ。それでないと、データを取り出す時に混乱してしまうからね。
ナカイ君: わかった、ありがとう!
まとめ
この記事では、Pythonで多段の連想配列を使う方法について学びました。
多段の連想配列は、階層的なデータ構造を持つデータを扱うのに非常に便利です。
基本的な作り方から、特定のデータの取り出し方、新しいデータの追加方法、そしてデータの探索方法までを見てきました。この記事がPythonで多段の連想配列を使い始める際の一助となれば幸いです。
この記事へのコメントはありません。