我正在尝试创建一个字典字典使用字典理解列表列表。在
列表包含学生姓名、作业名称和成绩。例如,数据可能如下所示:grades_lists = [
['Student', 'Test', 'Assignment', 'Exam'],
['Bella', '80', '90', '100'],
['Sam', '65', '75', '85'],
['Emily', '60', '75', '90'],
]
我想创建一个字典,将学生姓名映射到包含作业名称和成绩的字典。例如:
^{pr2}$
我想要的字典是:{
'Bella': {'Test': 80, 'Assignment': 90, 'Exam': 100},
'Sam': {'Test': 65, 'Assignment': 75, 'Exam': 85},
'Emily': {'Test': 60, 'Assignment': 75, 'Exam': 90}
}
因此grades_list中的每一行都成为一个字典;第一列是学生的名字,其他列是字典中的值,其键取自grades_list的第一行。在
我一直在尝试使用dict理解来生成字典中相应的键和值。像这样:grade_dicts = {x[0]:{y:z} for y in grades_lists[0][1:] for x in grades_lists[1:] for z in x[1:]}
但这并不能正确生成所有分数:{
'Bella': {'Exam': '100'},
'Emily': {'Exam': '90'},
'Sam': {'Exam': '85'}
}