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

时间:2018-10-12 10:12:55

标签: python dictionary

我正在尝试使用python从ebay抓取一些结果,但我遇到了错误:

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" for example ),然后继续循环。实现此目标的最佳方法是什么?谢谢

2 个答案:

答案 0 :(得分:3)

使用try / except子句捕获KeyError

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

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

    print(condition)

答案 1 :(得分:0)

在循环中添加以下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)