在python中的dict中找不到键值时,如何为dict中的键设置默认值

在python中的dict中找不到键值时,如何为dict中的键设置默认值,python,dictionary,Python,Dictionary,我试图用python从易趣上获取一些结果,但遇到了一个错误: condition = item['condition'][0]['conditionDisplayName'][0] >>> KeyError: 'condition'` 以下是相关代码: for item in (parseddoc["findItemsByKeywordsResponse"][0] ["searchResult"][0]["item"]): condition = item['cond

我试图用python从易趣上获取一些结果,但遇到了一个错误:

condition = item['condition'][0]['conditionDisplayName'][0]
>>> KeyError: 'condition'`
以下是相关代码:

for item in (parseddoc["findItemsByKeywordsResponse"][0] ["searchResult"][0]["item"]):
    condition = item['condition'][0]['conditionDisplayName'][0]
    print(condition)

我试图找到一种方法来阻止它出错,只需将默认值设置为预设值
(“例如,N/a”)
,然后继续循环。实现这一目标的最佳方式是什么?谢谢

将以下if/else语句添加到循环中:

for item in (parseddoc["findItemsByKeywordsResponse"][0]["searchResult"][0]["item"]):
    if 'condition' not in item:
        condition = 'N/A'
    else:
        condition = item['condition'][0]['conditionDisplayName'][0]
    print(condition)

使用
try
/
except
子句捕获
键错误

for item in parseddoc["findItemsByKeywordsResponse"][0]["searchResult"][0]["item"]:

    try:
        condition = item['condition'][0]['conditionDisplayName'][0]
    except KeyError:
        condition = 'N/A'

    print(condition)

查找
defaultdict
defaultdict将生成“条件”键,如果不存在,则不默认为其他任何东西请考虑将您的
condition=
放入一个try块中,如果抛出异常,则将值更改为“N/A”