On 10/11/10 1:29 PM, MRAB wrote:
On 11/10/2010 15:55, MacOSX @ Rocteur.cc wrote:
Hi,
Is there an easier way to do this, I am adding/creating to an array
inside a dict but can find a cleaner way:
So I first check if the key exists already, if it does then I know I use
append, if it does not I create it.
if osmdict.has_key(token):
osmdict[token]['user'].append(user)
osmdict[token]['reason'].append(reason)
else:
osmdict[token] = { 'user' : [user], 'reason' : [reason]}
Sorry if I've completely overlooked the obvious,
Thanks in advance,
osmdict.setdefault(token, {}).update({'user': [user], 'reason': [reason]})
No, that really doesn't do what the OP wants.
from collections import defaultdict
osmdict = defaultdict(lambda: defaultdict(list))
...
osmdict[token]['user'].append(user)
osmdict[token]['reason'].append(reason)
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
--
http://mail.python.org/mailman/listinfo/python-list