我试图传递一个空字典作为对 .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())
最佳答案
很有可能是 event
实际上包含一个 key queryStringParameters
那恰好是 None
.您是否检查过 key 是否存在?
仅当键不存在时才返回默认值,如果它存在并且恰好是 None 则不返回。
但是你也可以写
queryStringParameters = event.get('queryStringParameters', {}) or {}
为了安全起见。
关于python - 空字典作为 dict.get() 的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48872581/