繁体   English   中英

如果dict没有键或value为空,则python返回None

[英]python return None if dict doesn't have key or is value is empty

如果字典x没有键field或者它确实具有键,但值是空dict,我想返回None

我有results = x.get('field') ,如果不存在该键,则返回None 如果存在x.get('field')将返回一个字典。 如果x.get('field')返回{}我希望results也为None 有没有很好的pythonic方式来做到这一点?

目前我有results = x.get('field') if x.get('field') else None 这似乎很令人费解。

如果dict包含空dict,则可以使用or运算符显式返回None

results = x.get('field') or None

但是请注意,您将获得None,对于其他类型的值,整个bool状态为false,例如0''等。

Python是鸭子类型的,并且字典可以包含任何类型的值。 您将必须显式检查返回值是否为dict以及它是否为空。

value = x.get('field')
if value == {}:
    value = None

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM