In [97]: student_school_list
Wait, wha...
In [1]: from collections import defaultdict
In [2]: students = [('Fred', 'SchoolA'),
...: ('Bob', 'SchoolB'),
...: ('Mary', 'SchoolA'),
...: ('Jane', 'SchoolB'),
...: ('Nancy', 'SchoolC')]
...:
In [3]: defaultdict(list, students)
Out[3]:
defaultdict(list,
{'Fred': 'SchoolA',
'Bob': 'SchoolB',
'Mary': 'SchoolA',
'Jane': 'SchoolB',
'Nancy': 'SchoolC'})
In [4]: defaultdict(list, students).items()
Out[4]: dict_items([('Fred', 'SchoolA'), ('Bob', 'SchoolB'), ('Mary', 'SchoolA'), ('Jane', 'SchoolB'), ('Nancy', 'SchoolC')])
I think you accidentally swapped variables there:
student_school_list
vs student_by_school