清空dict作为dict.get()的默认值

时间:2018-02-19 19:00:51

标签: python dictionary default

我试图将一个空字典作为另一个字典上.get()调用的默认返回值。

queryStringParameters = event.get('queryStringParameters', ({})
size = queryStringParameters.get('size', 25)

但是,queryStringParameters.get(...)会发出错误消息,指出queryStringParameters为None

'NoneType' object has no attribute 'get': AttributeError
Traceback (most recent call last):
File "/var/task/api/game.py", line 13, in all
size = queryStringParameters.get('size', 25)
AttributeError: 'NoneType' object has no attribute 'get'

这不可能,或者我做错了什么?我也尝试了以下内容:

queryStringParameters = event.get('queryStringParameters', dict())

1 个答案:

答案 0 :(得分:3)

[]实际上包含恰好是event的密钥queryStringParameters。你检查过密钥是否存在?

只有在密钥不存在时才会返回默认值,如果密钥不存在,则返回默认值。

但你也可以写

None

安全起见。