附加词典中的KeyError

时间:2017-03-28 20:52:58

标签: python python-3.x dictionary exception keyerror

我拥有大量数据,在循环中迭代true并按键附加值:

for q in my_dict:
output.append({"roomsCount": q['roomsCount'], "totalArea": float(q['totalArea']), 
"floorNumber": q['floorNumber'],"price": int(q['bargainTerms']['price']), ...})

有时我得到: KeyError:'roomsCount' KeyError:'totalArea'等,如果密钥不存在。

如果此密钥不存在,我如何为任何密钥设置默认值?不重复尝试:除了我的每个键:值对

2 个答案:

答案 0 :(得分:1)

  

如果此密钥不存在,我如何为任何密钥设置默认值?

dict.setdefault()方法可能就是您想要的方法:

d = {'hits': 10, 'gold': 5}
print( d.setdefault('weapons', 0) )
print( d.setdefault('hits', 10) )

答案 1 :(得分:0)

通过添加dict.get解决,感谢您的评论。我的代码

for q in mydict:
        output.append(
            {"roomsCount": q.get('roomsCount', 0), "totalArea": float(q.get('totalArea', 0)), "floorNumber": q.get('floorNumber',0),
             "price": int(q.get('bargainTerms''price',0))...})