Pat wrote:
I can't figure out how to set up a Python data structure to read in data
that looks something like this (albeit somewhat simplified and contrived):
States
Counties
Schools
Classes
Max Allowed Students
Current enrolled Students
Nebraska, Wabash, Newville, Math, 20, 0
Nebraska, Wabash, Newville, Gym, 400, 0
Nebraska, Tingo, Newfille, Gym, 400, 0
Ohio, Dinger, OldSchool, English, 10, 0
With each line I read in, I would create a hash entry and increment the
number of enrolled students.
You might want something like this:
>>> import collections, functools
>>> int_dict = functools.partial(collections.defaultdict, int)
>>> curr = functools.partial(collections.defaultdict, int)
>>> # builds a dict-maker where t = curr(); t['name'] += 1 "works"
>>> for depth in range(4):
# add a layer with a default of the preceding "type"
curr = functools.partial(collections.defaultdict, curr)
>>> base = curr() # actually make one
>>> base['Nebraska']['Wabash']['Newville']['Math']['max'] = 20
>>> base['Nebraska']['Wabash']['Newville']['Math']['curr'] += 1
>>> base['Nebraska']['Wabash']['Newville']['Math']['curr']
1
>>> base['Nebraska']['Wabash']['Newville']['English']['curr']
0
--Scott David Daniels
[EMAIL PROTECTED]
--
http://mail.python.org/mailman/listinfo/python-list