Check for dict key existence, and modify it in one step.
Ben Finney
bignose+hates-spam at benfinney.id.au
Tue Aug 28 19:02:09 EDT 2007
rodrigo <rodrigo.cr at gmail.com> writes:
> Im using this construct a lot:
>
> if dict.has_key(whatever):
> dict[whatever] += delta
> else:
> dict[whatever] = 1
I'd prefer:
foo.setdefault(whatever, 0)
foo[whatever] += delta
> 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
foo.setdefault(whatever, {})
foo[whatever].setdefault(someother, 0)
foo[whatever] += delta
> there must be a more compact, readable and less redundant way to do
> this, no?
Hope that helps.
--
\ "I took a course in speed waiting. Now I can wait an hour in |
`\ only ten minutes." -- Steven Wright |
_o__) |
Ben Finney
More information about the Python-list
mailing list