这段代码还不错,但我想知道程序员如何编写代码
if count.get('a') is None:
count['a'] = 0
答案 0 :(得分:19)
您可以使用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
答案 1 :(得分:5)
setdefault
是最佳答案,但为了记录,检查dict
中密钥的Pythonic方法是使用in
关键字:
if 'a' not in count:
count['a'] = 0
答案 2 :(得分:0)
看着答案的选择,我认为这个问题的措词有些不正确。
在字典中设置无值吗?
实际上,如果标题是正确的,询问是否设置值为None
,则setdefault
不会设置该值,而是返回该None
。
a_dict = {'key': None}
assert a_dict.setdefault('key', True) is None
如果键的值是None(与根本没有那个键相反,在这种情况下,setdefault
是的方式。)或者它根本不在那儿。在这种情况下,下面的方法应该起作用,并且对我来说似乎是最pythonic的。
if not a_dict.get('key'):
a_dict['key'] = 'value'