【发布时间】:2021-05-05 06:59:30
【问题描述】:
我是 Python 新手(我已经学习了大约一周,但我知道 R)。
我正在尝试创建一个嵌套字典,将学生姓名映射到包含他们分数的字典。此分数字典的每个条目都应键入作业名称并将相应的成绩保存为整数。例如,grade_dicts['Thorny']['Exam 1'] == 100
我很接近了,但是我在 def Convert 函数中的某些地方做得不对,我想知道您是否可以提供一些帮助。我读过嵌套字典:https://www.geeksforgeeks.org/python-nested-dictionary/,但考虑到它来自元组的方式,这个问题似乎根本不同。
非常感谢!
grades = [
# First line is descriptive header. Subsequent lines hold data
['Student', 'Exam 1', 'Exam 2', 'Exam 3'],
['Thorny', '100', '90', '80'],
['Mac', '88', '99', '111'],
['Farva', '45', '56', '67'],
['Rabbit', '59', '61', '67'],
['Ursula', '73', '79', '83'],
['Foster', '89', '97', '101']
]
def assign(grades):
assignments = []
for i in grades[:]:
assignments.extend(i[:]) #play around with this! #ended up using extend
return(assignments)
assignments = assign(grades)
assignments = list(zip(*[iter(assignments)]*4))
assignments = assignments[1:7]
def Convert(tup, di):
for a, b,c,d in tup:
di.setdefault(a, [])
di.setdefault(b, ['Exam 1'])
di.setdefault(c, ['Exam 2'])
di.setdefault(d, ['Exam 3'])
return di
dictionary = {}
grade_lists = Convert(assignments, dictionary)
grade_lists
【问题讨论】:
标签: python dictionary