我正在寻找一种在python中动态制作基于所需结构的字典的方法。
我有以下数据:
{'weather': ['windy', 'calm'], 'season': ['summer', 'winter', 'spring', 'autumn'], 'lateness': ['ontime', 'delayed']}
Run Code Online (Sandbox Code Playgroud)
我给出了我希望它们像的结构:
['weather', 'season', 'lateness']
Run Code Online (Sandbox Code Playgroud)
并最终以这种格式获取数据:
{'calm': {'autumn': {'delayed': 0, 'ontime': 0},
'spring': {'delayed': 0, 'ontime': 0},
'summer': {'delayed': 0, 'ontime': 0},
'winter': {'delayed': 0, 'ontime': 0}},
'windy': {'autumn': {'delayed': 0, 'ontime': 0},
'spring': {'delayed': 0, 'ontime': 0},
'summer': {'delayed': 0, 'ontime': 0},
'winter': {'delayed': 0, 'ontime': 0}}}
Run Code Online (Sandbox Code Playgroud)
这是我为实现这一目标而想到的手动方式:
dtree = {}
for cat1 in category_cases['weather']:
dtree.setdefault(cat1, {})
for cat2 in category_cases['season']:
dtree[cat1].setdefault(cat2, {})
for cat3 in category_cases['lateness']: …Run Code Online (Sandbox Code Playgroud)