rodrigo a écrit : > Im using this construct a lot: > > if dict.has_key(whatever):
<ot> Avoid using builtin names as identifiers (it shadows the builtin name). </ot> Unless you're using an old Python version, you'd be better using if whatever in my_dict: # do something here > dict[whatever] += delta > else: > dict[whatever] = 1 > > sometimes even nested: > > if dict.has_key(whatever): > if dict[whatever].has_key(someother): > dict[whatever][someother] += delta > else: > dict[whatever][someother] = 1 > else: > dict[whatever]={} > dict[whatever][someother] = 1 > > there must be a more compact, readable and less redundant way to do > this, no? There are other ways, yes. With Python <= 2.4.x, you can use dict.setdefault, with Python 2.5.x you can use a defaultdict (cf http://docs.python.org/whatsnew/modules.html). HTH -- http://mail.python.org/mailman/listinfo/python-list