python字典中无值
是否可以检查dict中的none值python字典中无值,python,if-statement,dictionary,nonetype,Python,If Statement,Dictionary,Nonetype,是否可以检查dict中的none值 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 必需:如果值为None,则表示dict键a和c不适合打印。您的None值实际上是字典中的字符串 您可以检查“无” 或者使用实际的pytho
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
必需:如果值为None,则表示dict键a和c不适合打印。您的None值实际上是字典中的字符串 您可以检查“无” 或者使用实际的python值 打印“好”2次 或者,如果您必须使用当前的词典,只需更改您的检查以查找
'None'
此外,dict是python内置类型,因此最好不要命名变量
dict
使用
d = {'a': None}
而不是
d = {'a': 'None'}
在后一种情况下,'None'
只是一个字符串,而不是Python的None
类型。此外,使用标识运算符测试None
:
for key, value in d.iteritems():
if value is None:
print "None found!"
您可以简单地使用
如果不是值:
打印“未找到!”
如果值有一些数据,“if value”将为true,如果没有数据,“if value”将为false。因此,在if条件中不必显式使用None关键字
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)
对于单例None
,最好的检查方法是x is None
或x is not None
。代码不应该像o.p的示例代码那样,对非无值输出“good”,对无值输出“bad”吗?当然:-)但这里的想法是要有一个通用函数,因此,只需根据需要修改用法:如果不是“我的字典中没有”等。。。
if none_in_dict(my_dict):
logger.error(my_err_msg)