im переходящие словари, и я действительно не понимаю, как построить свой собственный. У меня есть следующие данные в файле CSVЧтение файла и сохранение в словаре
fp = CpE, CSE 2315
CpE, CSE 2320
CpE, CSE 2441
CpE, CSE 3320
CpE, CSE 3442
CpE, EE 2440
CpE, MATH 1426
CS, CSE 2315
CS, CSE 2320
CS, CSE 3320
CS, CSE 4303
CS, CSE 4305
CS, CSE 4308
CS, MATH 1426
SE, CSE 2315
SE, CSE 2320
SE, CSE 3311
SE, CSE 3320
SE, CSE 4321
SE, CSE 4322
SE, CSE 4361
SE, MATH 1426
Я хочу сохранить эту информацию в словаре в следующем формате, так что каждая степень его собственный ключ, а затем все классы в той степени
{'Cpe' : ['CSE 2315', 'CSE 2320', 'CSE 2441'.........],
'CS' : ['CSE 2315', 'CSE 2320'....................],
вот что я написал, чтобы попытаться сделать это, но им возникли проблемы
majors = { }
for line in fp :
degree, course = line.strip().split(',') ##split the componets of each line
if degree in majors : # if degree is already in dictionary,add class
majors[degree] = {course}
else : #if degree is not in dictionary add degree and class
majors[degree] = {degree,course}
return majors
но когда я напечатать я получить
{'CS': set(['MATH 1426']), 'CpE': set(['MATH 1426']), 'SE': set(['MATH 1426'])}
help?
@NPE Спасибо :) Я добавил 'defaultdict'. – thefourtheye