Pythonでは、辞書(dictionary)というデータ型を用いて、キーと値のペアを格納することができます。この辞書を使って、より複雑なデータ構造、例えば階層的なデータを表現することも可能です。
階層的な辞書の作成
階層的な辞書を作成する一つの方法は、defaultdict
を使用することです。defaultdict
は、存在しないキーに対するアクセス時にデフォルト値を自動的に生成する辞書のサブクラスです。
以下に、defaultdict
を使用して階層的な辞書を作成する例を示します。
from collections import defaultdict
# 再帰的なdefaultdictを定義
recursive_defaultdict = lambda: defaultdict(recursive_defaultdict)
# 階層的な辞書を作成
hoge = recursive_defaultdict()
# 値を追加
hoge["A"]["T"]["G"]["C"] = 1
print(hoge["A"]["T"]["G"]["C"]) # 1
このコードでは、lambda
関数を使用してdefaultdict
を再帰的に定義し、階層的な辞書を作成しています。
階層的な辞書への値の追加
階層的な辞書に新たな値を追加するには、指定したキーのパスに沿って値を設定します。存在しないキーがパスに含まれている場合、新たな辞書が自動的に作成されます。
# 値を追加
hoge["A"]["T"]["G"]["T"] = 2
print(hoge["A"]["T"]["G"]["T"]) # 2
このコードでは、新たな値2
をキー"T"
に追加しています。このキーは、既存の階層"A" -> "T" -> "G"
の下に位置しています。
以上が、Pythonで階層的な辞書を作成し、その辞書に値を追加する基本的な方法です。これらのテクニックを使うことで、複雑なデータ構造を効率的に扱うことができます。