vit*_*nSí 1 python dictionary nested-lists
我想采用嵌套列表,例如:
list = [[Name, Height, Weight],[Dan, 175, 75],[Mark, 165, 64], [Sam, 183, 83]]
Run Code Online (Sandbox Code Playgroud)
并将其转换为字典,如:
dict = {Name: [Dan,Mark, Sam], Height: [175, 165, 183], Weight: [75, 64, 83]}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我当前的代码并没有真正给我我正在寻找的字典格式。
list = [[Name, Height, Weight],[Dan, 175, 75],[Mark, 165, 64], [Sam, 183, 83]]
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我并找出我哪里出错了吗?
首先将键和其余键分开,然后使用以下命令构造字典zip:
keys, *rest = list_of_lists
out = dict(zip(keys, zip(*rest)))
Run Code Online (Sandbox Code Playgroud)
list_of_lists您调用的内容在哪里list(但请不要使用它,因为它会遮蔽 builtin list)。首先*是从第二个列表开始吞食所有列表。第二个*在zip一种转置的名单重新排序
要得到
>>> out
{"Name": ("Dan", "Mark", "Sam"),
"Height": (175, 165, 183),
"Weight": (75, 64, 83)}
Run Code Online (Sandbox Code Playgroud)
这给出了值中的元组,但要获取列表,您可以map:
out = dict(zip(keys, map(list, zip(*rest))))
Run Code Online (Sandbox Code Playgroud)