python - 空字典作为 dict.get() 的默认值

标签 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())

最佳答案

很有可能是 event实际上包含一个 key queryStringParameters那恰好是 None .您是否检查过 key 是否存在?

仅当键不存在时才返回默认值,如果它存在并且恰好是 None 则不返回。

但是你也可以写

queryStringParameters = event.get('queryStringParameters', {}) or {}

为了安全起见。

关于python - 空字典作为 dict.get() 的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48872581/

相关文章:

c - 在纯 C 中存储键值对

r - 从外部设置包中函数的默认参数

python - docopt 位置参数不起作用

python urllib2 无法获取 google url

arrays - 从 Swift 中的字典中的数组访问项目

r - 设置 R 以包含缺失数据 – 如何将 `useNA="ifany "` option for ` table()` 设置为默认值?

android - 在默认的 AlertDialog 中居中消息

python:WAITING多个对象(队列、锁、条件等)

python - 如何在 PyQt5 中反转旋转框选择?

dictionary - 如果键是列表,则在 Dart 映射中搜索键