检查字典python中是否存在值

2024-09-30 02:27:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些类似的东西,(它工作得很好)给了我键和值的变量。在

for k,v in x.iteritems():
        print k, v.samplekey,v.units,v.comment

其中x是字典,v是netCDF4variable。对于字典'v',可能存在也可能不存在键的值。[例如,关键字'units'可能存在于字典中的一个项目中,而其他项目中可能缺失。]

我得到了AttributeError: Attribute not found。在字典中找不到密钥时的消息。我试图在找不到任何键的时候填充N/A。在


Tags: 项目infor字典commentnotattribute关键字
2条回答

使用getattr,当属性不存在时,它接受默认值:

for k,v in x.iteritems():
    print (k,
           getattr(v, 'samplekey', 'N/A'),
           getattr(v, 'units', 'N/A'),
           getattr(v, 'comment', 'N/A'))

使用hasattr方法:

def attr(x, a):
    return x.__getattribute__(a) if hasattr(x, a) else None

print k, attr(v, 'samplekey'), attr(v, 'units'), attr(v, 'comment')

或者,也可以选择getattr内置(谢谢RemcoGerlich!)公司名称:

^{pr2}$

相关问题 更多 >

    热门问题