python - 调用 __missing__ 后,作为字典值的列表变为无
问题描述
class ChapterDict(dict):
def __missing__(self, key):
res = self[key] = []
return res
我有这个自定义词典。如果键尚不存在,则应创建新的键:值对,而值应为空列表(字符串)。稍后我有我的实例
chapters = ChapterDict()
并希望存储这样的值。
chapters[processed_key] = chapters[processed_key].append(section)
如果我做
print(chapters)
结果我得到{'0': None, '1': None, '2': None, '3': None}
了,所以键是正确的,但列表是None
.
我的问题是什么?
解决方案
append
将元素添加到列表并返回None
,然后您为给定键分配(覆盖)值。放弃分配,你应该没问题:
chapters[processed_key].append(section)
推荐阅读
- vaadin - 将 Vaadin 14.0.10 应用程序更新到 14.5.4 会导致从 /VAADIN/ 加载的资源出现 MIME 类型错误
- unity3d - 在统一通用 RP 项目中找不到 2D 选项
- vue.js - 尝试使用 nuxt、apollo 和 wp-graphql 对组件进行分页时出现不可迭代的实例错误
- javascript - react-beautiful-dnd - 将 Droppable 中的所有子项作为 json 及其属性获取
- php - 通过 WooCommerce 结帐中的单选按钮添加额外的包装选项
- javascript - 提取数组信息并制作列表
- c++ - 为什么程序执行在for循环的第一次迭代结束?
- node.js - mongodb 字段的重新加密不起作用(mongoose-encryption)
- highcharts - 如何扩展 ORG 图表的连接器
- android - 使用 android 从 nativescript-plugin-firebase 插件接收到的令牌格式无效