From: William.H.Duquette at jpl.nasa.gov (William H. Duquette)
Date: Wed, 28 Apr 1999 22:23:00 GMT
Subject: try vs. has_key()
References: <aahzFAM4oJ.M7M@netcom.com> <yWOT2.6007$8m5.9320@newsr1.twcny.rr.com> <Pine.SUN.3.95-heb-2.07.990423140345.21577A-100000@sunset.ma.huji.ac.il> <37247ea3.494305@news.jpl.nasa.gov>
Message-ID: <372789d8.27766891@news.jpl.nasa.gov>
X-UID: 674                                                  

On Wed, 28 Apr 1999 14:58:13 GMT, William.H.Duquette at jpl.nasa.gov
(William H. Duquette) wrote:


>>>> d = {}
>>>> a = 'Foo'
>>>> d[a] = d.get(a, []).append('Bar')
>>>> d
>{'Foo': None}
>>>>
>
>I'd have expected to see {'Foo': 'Bar'}, but that's not what I get.


As someone pointed out, append() returns None, explaining
the result I got.  However, the following code works just fine:

 d = {}
 a = 'foo'

 # Append an entry to d[a], whether it has been initialized or not:
 d[a] = d.get(a, [])
 d[a].append('Bar')


Will

--------------------------------------------------------------------------
Will Duquette, JPL  | William.H.Duquette at jpl.nasa.gov
But I speak only    | http://eis.jpl.nasa.gov/~will (JPL Use Only)
for myself.         | It's amazing what you can do with the right tools.




