1
如何在不覆蓋第一個值的情況下爲鍵添加值?下面是我的代碼示例:爲詞典增加更多值python 3
def course_rolls(records):
"""Maps course code to the student ID"""
course_to_id_dict = {}
for record in records:
course = record[0][0]
student_id = record[1][0]
course_to_id_dict[course] = {student_id}
print(course_to_id_dict)
return course_to_id_dict
records = [(('MTH001', 'Mathematics 1'),
(2763358, 'Cooper', 'Porter')),
(('EMT003', 'Mathematical Modelling and Computation'),
(2788579, 'Mandi', 'Stachowiak'))]
rolls = course_rolls(records)
expected = {'MTH001': {2763358}, 'EMT003': {2788579}}
print(rolls==expected)
輸出爲True
比方說,如果一個學生ID映射使用相同的密鑰,我想輸出爲預期:
rolls = course_rolls(records)
records = [(('MTH001', 'Mathematics 1'),
(2763358, 'Cooper', 'Porter')),
(('EMT003', 'Mathematical Modelling and Computation'),
(2788579, 'Mandi', 'Stachowiak')),
(('MTH001', 'Mathematics 1'),
(2763567, 'New', 'Value'))]
rolls = course_rolls(records)
expected = {'MTH001': {2763358,2763567}, 'EMT003': {2788579}}
print(rolls==expected)
但是,如果我寫道course_to_id_dict [course] .append({student_id})不起作用 –
@AsyrawiAbdullahZawawi:'course_to_id_dict [course]'不是一個列表,它是一個設置對象(假設該對象存在)。 'course_to_id_dict [course] .add(student_id)'會起作用,只要你首先測試'course'是否是現有的密鑰。 –