使用嵌套词典的帮助

2024-06-26 14:55:51 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我的代码应该做的是得到学生的id,把他们放到字典里,然后把他们的家庭作业、考试和测验成绩也放到字典里

所以看起来像

{'123456':{'exam':[97, 98, 45], 'homework': [44,45]} etc.

所以为了快速起见,我只增加了一部分来关注家庭作业部分。我该怎么把作业字典加到学生证的字典里(作业文件中有学生id,后跟他们的成绩)

def create_dictionary(idfilename, hwfilename):
    ids = open(idfilename, 'r')
    hw = open(hwfilename, 'r')
    d = {}
    grades = {}
    for i in ids:
        ids.readline()
        i = i.rstrip("\n")
        grades[i] = d
    for h in hw:
        x = hw.readline()
        x.split(' ')
        if h in grades:
            d = [i]
    print(grades)

我很亲近吗


Tags: inididsforreadline字典作业open
1条回答
网友
1楼 · 发布于 2024-06-26 14:55:51

您的问题不清楚,因为您输入数据的形式未知。但一般来说,你可以这样做:

out_dict = {'123456':{'exam':[97, 98, 45], 'homework': [44,45]}}

# example of a list with grades. maybe read from a file?
homework_grades = [1,2,3,4]

# appends grades one at a time
for a_grade in homework_grades:
   out_dict['123456']['homework'].append(a_grade)

# or append all grades in one go.
out_dict['123456']['homework'] += homework_grades 

相关问题 更多 >