List as value of a dictionary在调用__missing__后得到None


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)

最新更新