Dict:如果dict值包含None,则get()不返回0

时间:2017-03-15 09:12:23

标签: python

python dict如果键值为None且调用get()时返回NoneType

loadingLayout

在上面的示例中,它应该返回0但不会。

可以解释为什么它会像那样。

2 个答案:

答案 0 :(得分:2)

不,不应该。如果在test字典中找不到ex_dict密钥,则应返回0。但是,因为它存在,它将返回None

ex_dict = {"test" : None}
print type(ex_dict.get('test', 0))  # <class 'NoneType'>, 'test' exist, return None

print(ex_dict.get('hello', 0))  # prints 0, 'hello' isn't a key inside ex_dict

答案 1 :(得分:1)

None中的ex_dict.get('test', 0)响应正常,因为“test”键存在且值None。例如,如果您对ex_dict.get("non_existing_key", 0)尝试相同,则返回0.