【发布时间】:2021-11-29 09:06:21
【问题描述】:
我有一些数据采用以下格式(mylist),我正在尝试将其转换为嵌套字典,但努力使格式正确。我尝试了几种迭代和转换的变体,但无法获得所需的结果。我能否使用 mylist 中的数据格式获取所需格式的数据,如所需结果所示?
mylist = [
[('floor', 'first_floor'), ('bed_room', 'room1'), ('windows', 2), ('color', 'violet')],
[('floor', 'second_floor'), ('bed_room', 'room2'), ('windows', 4), ('color', 'violet')],
]
nest_keys = ['floor', 'bedroom']
cmd_tree = {}
for i in mylist:
last_element = True
for key in reversed(nest_keys):
if last_element is True:
cmd_tree = {key: dict([x for x in i if x[0] not in nest_keys])}
last_element = False
else:
cmd_tree = {key: cmd_tree}
print(cmd_tree)
当前结果:
{'floor': {'bedroom': {'bed_room': 'room2', 'windows': 4, 'color': 'violet'}}}
期望的结果:
{'floor': {'first_floor': {'bed_room': {'room1': {'color': 'white',
'windows': 2}}},
'second_floor': {'bed_room': {'room2': {'color': 'violet',
'windows': 4}}}}}
【问题讨论】:
-
'windows'在mylist中的'color'之前,您确定要在所需输出中的'color'之后吗?
标签: python python-3.x dictionary iteration