具有默认值的dict的Python dict

2024-09-30 14:34:42 发布

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

在Python2.7中,我有一个字典字典,我试图以一种快速的方式从中获取值。但是,有时其中一个键(可以是任意一个)在我的字典中不存在,在这种情况下,我希望获得一个默认值。在

我的字典是这样的:

values = { '1A' : { '2A' : 'valAA', '2B' : 'valAB'},
           '1B' : { '2A' : 'valBA', '2B' : 'valBB'} }

当我用现有的键查询它时,效果很好:

^{pr2}$

如何让它做到这一点:

>>> values.get('not a key').get('not a key')
'not present'

Tags: keyget字典方式not情况values效果
2条回答

创建一个函数来获取值。在

values = { '1A' : { '2A' : 'valAA', '2B' : 'valAB'},
           '1B' : { '2A' : 'valBA', '2B' : 'valBB'} }

def get_value(dict, k1, k2):
    try:
        return dict[k1][k2]
    except KeyError as ex:
        return 'does not exist'

print get_value(values, '1A', '2A')
print get_value(values, '1A', '4A')

这就像一个符咒:

values.get(key1, {}).get(key2, defaultValue)

如果字典中不存在第二个键,则返回第二个.get()的默认值。 如果第一个键不在字典中,默认值是一个空字典,这可以确保第二个键不会出现在字典中。第二个.get()的默认值也将返回。在

例如:

^{pr2}$

相关问题 更多 >