fork download
  1. from collections import defaultdict
  2. from functools import partial
  3. class_dict= defaultdict(partial(defaultdict,list))
  4.  
  5. sections = ['A', 'B', 'A', 'A', 'B']
  6. students = ['Jack', 'Jim', 'Jack', 'Leena', 'Jim']
  7. subjects = ['Maths', 'Biology', 'Chemistry', 'English', 'Physics']
  8.  
  9. for (section, student, subject) in zip(sections, students, subjects):
  10. class_dict[section][student].append(subject)
  11.  
  12. print class_dict
Success #stdin #stdout 0.03s 6428KB
stdin
Standard input is empty
stdout
defaultdict(<functools.partial object at 0x839efa4>, {'A': defaultdict(<type 'list'>, {'Leena': ['English'], 'Jack': ['Maths', 'Chemistry']}), 'B': defaultdict(<type 'list'>, {'Jim': ['Biology', 'Physics']})})