这段代码还不错,但我想知道优秀的程序员会写出怎样的代码
if count.get('a') is None:
count['a'] = 0
您可以使用dict.setdefault
:
count.setdefault('a', 0)
帮助dict.setdefault
:
>>> print dict.setdefault.__doc__
D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
setdefault
是最好的答案,但为了记录,检查 a 中的键的 Pythonic 方法dict
是使用in
关键字:
if 'a' not in count:
count['a'] = 0
看看答案的选择,我认为这个问题的措辞有些不正确。
如果它是None,在字典中设置一个值?
事实上,如果标题在询问是否设置值时是正确的None
,setdefault
则不会设置该值,而是返回该值None
。
a_dict = {'key': None}
assert a_dict.setdefault('key', True) is None
setdefault
如果一个键的值为 None (而不是根本没有那个键,在这种情况下,这是要走的路),或者如果它是,我不认为这是一个非常常见的情况。根本不在里面。在这种情况下,以下应该可以工作,并且对我来说似乎是最pythonic。
if not a_dict.get('key'):
a_dict['key'] = 'value'