检查OrderedDi字典中是否存在该项

2024-09-30 08:35:56 发布

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

我看不到这个工作,有关键错误,所以想知道是否有人可以让我知道我做错了什么。在

代码如下:

>>> from collections import OrderedDict
>>> people = OrderedDict()
>>> people['Depark'] = 'Jaipor'
>>> people['James'] = 'Walubi'
>>> 
>>> work = OrderedDict()
>>> work['Train drive'] = 'Big_train'
>>> work['Teacher'] = 'Maths_teacher'
>>>
>>>
>>> def props():
...    d = dict()
...    d['people'] = people
...    d['work'] = work
...    return d

>>> test = props()
>>> if test['people']['Mandeep']:
...     print 'We have Mandeep'
... else:
...    print 'No one by that name'

以下是错误消息:

^{pr2}$

我希望它打印'No one by that name',因为我们没有Mandeep作为键。在

任何帮助都将不胜感激。在


Tags: no代码nametestbythat错误props
1条回答
网友
1楼 · 发布于 2024-09-30 08:35:56

在处理if条件之前,test['people']['Mandeep']被计算。不出所料,它引发了KeyError。一种Python的解决方案是使用try/except构造:

try:
    test['people']['Mandeep']
    print('We have Mandeep')
except KeyError:
    print('No one by that name')

如果希望使用if/else子句,可以检查子字典中是否存在该键:

^{pr2}$

相关问题 更多 >

    热门问题