a dict trick
Michael J. Fromberger
Michael.J.Fromberger at Clothing.Dartmouth.EDU
Thu Aug 2 12:54:45 EDT 2007
In article <1186036331.304916.304020 at e9g2000prf.googlegroups.com>,
james_027 <cai.haibin at gmail.com> wrote:
> hi
>
> for example I have this dictionary
>
> dict = {'name':'james', 'language':'english'}
>
> value = 'sex' in dict and dict['sex'] or 'unknown'
>
> is a right pythonic of doing this one? I am trying to get a value from
> the dict, but if the key doesn't exist I will provide one.
Hi, James,
You might prefer:
d = {'name': 'James', 'language': 'English'}
value = d.get('sex', 'unknown')
This accomplishes what your above code does, using a method of the
built-in dict object.
If you also wish to ADD the new value to the dictionary, you may also
use the following:
value = d.setdefault('sex', 'unknown')
This returns the same value as the above, but also adds the key 'sex' to
the dictionary as a side-effect, with value 'unknown'.
Cheers,
-M
--
Michael J. Fromberger | Lecturer, Dept. of Computer Science
http://www.dartmouth.edu/~sting/ | Dartmouth College, Hanover, NH, USA
More information about the Python-list
mailing list