[英]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.