annoying dictionary problem, non-existing keys
Robert.Bossy at jouy.inra.fr
Thu Apr 24 04:24:37 EDT 2008
> i use dictionaries to hold some config data,
> such as:
> and so on...
> when i try to process conf, i have to code every time like:
> if conf.has_key('key1'):
> if conf['key1']<>'':
> other commands....
> this is very annoying.
> in php, i was able to code only like:
> if conf['key1']=='someth'
> in python, this fails, because, if key1 does not exists, it raises an exception.
> MY question:
> is there a way to directly get value of an array/tuple/dict item by key,
> as in php above, even if key may not exist, i should not check if key exist,
> i should only use it, if it does not exist, it may return only empty,
> just as in php....
> i hope you understand my question...
If I understand correctly you want default values for non-existing keys.
There are two ways for achieving this:
Way 1: use the get() method of the dict object:
which is the same as:
conf[key] if key in conf else default
Way 2: make conf a defaultdict instead of a dict, the documentation is
Hope this helps,
More information about the Python-list