我有一个列表列表,其中第一个列表是“标题”列表,其余的是数据列表。每个“子”列表的大小相同,如下所示:
list1 = [
["Sno", "Name", "Age", "Spirit", "Status"],
[1, "Rome", 43, "Gemini", None],
[2, "Legolas", 92, "Libra", None]
]
Run Code Online (Sandbox Code Playgroud)
我想将所有这些“子”列表合并到一个字典中,使用第一个“子”列表作为标题行,将行中的每个值映射到后续行中的相应值。
我的输出应该是这样的:
result_dict = {
1: {"Name": "Rome", "Age": 43, "Spirit": "Gemini", "Status": None},
2: {"Name": "Legolas", "Age": 92, "Spirit": "Libra", "Status": None}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,1、2等是唯一的行号(它们对应于Sno标题列表中的列)。
到目前为止,我可以使用以下代码将每个第二个元素作为键:
list1_as_dict= {p[0]:p[1:] for p in list1}
print(list1_as_dict)
Run Code Online (Sandbox Code Playgroud)
哪个输出:
{
'Sno': ['Name', 'Age', 'Spirit', 'Status'],
1: ['Rome', 43, 'Gemini', None],
2: ['Legolas', 92, 'Libra', None]
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使每个数据“子”列出映射到相应标题的字典。
我怎样才能得到我想要的输出?