On Thu, Jun 28, 2018 at 5:12 PM Chris Barker via Python-ideas < python-ideas@python.org> wrote:
In [97]: student_school_list Out[97]: [('Fred', 'SchoolA'), ('Bob', 'SchoolB'), ('Mary', 'SchoolA'), ('Jane', 'SchoolB'), ('Nancy', 'SchoolC')]
In [98]: result = defaultdict(list, student_by_school)
In [99]: result.items() Out[99]: dict_items([('SchoolA', ['Fred', 'Mary']), ('SchoolB', ['Bob', 'Jane']), ('SchoolC', ['Nancy'])])
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