しょっちゅう忘れることを書いておく。
![]() |
66 |
318 views
#coding: UTF-8
def create_nest_map(map_data, keys, value):
if len(keys) > 1:
key = keys[0]
if key not in map_data:
map_data[key] = {}
create_nest_map(map_data[key], keys[1:], value)
else:
key = keys[0]
if key not in map_data:
map_data[key] = [value]
else:
map_data[key].append(value)
if __name__ == '__main__':
testdata = [
["A", "name1", "19"],
["A", "name2", "32"],
["A", "name2", "33"],
["A", "name3", "443"],
["B", "name4", "44"],
["B", "name5", "35"],
["B", "name5", "63"],
["C", "name4", "65"],
]
map_data = {}
for record in testdata:
keys = record[0:-1]
value = record[-1]
create_nest_map(map_data, keys, value)
print(map_data)
上のプログラムを実行すると、以下のように階層構造になったデータを取得できる。
{'A': {'name1': ['19'], 'name2': ['32', '33'], 'name3': ['443']}, 'B': {'name4': ['44'], 'name5': ['35', '63']}, 'C': {'name4': ['65']}}
Page 35 of 69.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/