是否可以在dict中检查无值
dict = {'a':'None','b':'12345','c':'None'}
我的代码
for k,v in d.items():
if d[k] != None:
print "good"
else:
print "Bad
执行上面的代码片段后打印三个商品。
good
good
good
必需:如果值为“无”,则打印不适用于dict键a和c。
答案 0 :(得分:24)
您的无值实际上是字典中的字符串。
你可以检查'无' 或使用实际的python None值。
d = {'a':None,'b':'12345','c':None}
for k,v in d.items():
if d[k] is None:
print "good"
else:
print "Bad"
打印“好”2次
或者如果您必须使用当前字典,只需更改支票即可查找'None'
另外dict是一个内置类型的python,所以最好不要命名变量dict
答案 1 :(得分:7)
使用
定义字典d = {'a': None}
而不是
d = {'a': 'None'}
在后一种情况下,'None'
只是一个字符串,而不是Python的None
类型。另外,使用标识运算符None
测试is
:
for key, value in d.iteritems():
if value is None:
print "None found!"
答案 2 :(得分:0)
您可以简单地使用
而不是使用“ if value is None”。
if not value: print "None found!"
如果value有一些数据,则“ if value”将为true,如果没有数据则为false。因此,您无需在if条件中显式使用None关键字。
答案 3 :(得分:0)
def none_in_dict(d):
for _, value in d.items():
if value is None:
return True
return False
用途是:
if none_in_dict(my_dict):
logger.error(my_err_msg)