How to efficently build a nested dictionary
Carel Fellinger
cfelling at iae.nl
Sat Mar 10 11:33:27 EST 2001
More information about the Python-list mailing list
Sat Mar 10 11:33:27 EST 2001
- Previous message (by thread): How to efficently build a nested dictionary
- Next message (by thread): How to efficently build a nested dictionary
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Carsten Gaebler <cgaebler at gmx.de> wrote: > Hi there! > I wrote a script for FTP traffic accounting, i.e. for each "top level" > FTP directory it counts the bytes transferred per day. The traffic is > stored in a dictionary that has the following structure: > traffic = {dir: {year: {month: {day: 42}}}} Wouldn't it be more efficient if you would build it like this: traffic[dir,year,month,day] = traffic.get((dir,year,month,day), 0) + bytes or use newer Python goodies like: m = traffic.setdefault(dir,{}).setdefault(year,{}).setdefault(month,{}) m[day] = m[day] + bytes or use intermediates like: if traffic.has_key(dir): d = traffic[dir] else: d = traffic{dir] = {} if d.has_key(year): y = d[year] else: y = d[year] = {} if y.has_key(month): m = y[month] else: m = y[month] = {} m[day] = m[day] + bytes or use the sometimes more efficient try-except: try: d = traffic[dir] except: d = traffic[dir] = {} try: y = d[year] except: y = d[year] = {} try: m = y[month] except: m = y[month] = {} m[day] = m[day] + bytes -- groetjes, carel -- groetjes, carel
- Previous message (by thread): How to efficently build a nested dictionary
- Next message (by thread): How to efficently build a nested dictionary
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list