#python #list #dictionary #nonetype
#python #Список #словарь #нетипичный
Вопрос:
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
.
В чем моя проблема?
Ответ №1:
append
добавляет элемент в список и возвращает None
, которому вы затем присваиваете (перезаписываете) значение для данного ключа. Отбросьте назначение, и все должно быть в порядке:
chapters[processed_key].append(section)