参考输出到哈希表:错误处理

问题描述 投票:0回答:1

如果键在eqType中不可用,我该如何处理错误我的意思是,如果它不在eqType字典中,则返回equip['type']

eqType ={
    10023: 'ONT-SFU',
    10040: 'OLT1T3',
    10048: 'OLT1T1',
    10050: 'OLT1T0',
}

extend = 'Name:', equip['name'] \
        , "\n" 'Desc:', equip['description'] \
        , "\n" 'Serial:', equip['serialNumber'] \
        , "\n" 'SWversion:', equip['swVersion'] \
        , "\n" 'Admin:', admstate[equip['admin']] \
        , "\n" 'Type:', eqType[equip['type']]

print(*extend)
python python-3.4
1个回答
1
投票

这是dict.get()的好用例:

x = eqType.get(equip['type'], equip['type'])

可选的第二个参数允许您指定默认值,如果缺少该键,则返回默认值。

如果您的字典仅包含“真实的”值,您也可以这样做:

x = eqType.get(equip['type']) or equip['type']

您也可以使用try / except,但不能单行使用:

try:
    x = eqType[equip['type']]
except KeyError:
    x = equip['type']
© www.soinside.com 2019 - 2024. All rights reserved.