Я определил defaultdict следующим образом:
results=defaultdict(list)
В цикле for, который считывает каждую строку в моем файле словаря, я создаю tempWordObject, который содержит исходное слово (originalWord), его алфавитную версию (azWord) и длину слова (wLength). Затем я добавляю объект в список в зависимости от его длины:
results[tempWordObject.wLength].append(tempWordObject)
Итак, что я должен получить, так это defaultdict под названием results, в котором есть списки слов, основанные на их длине. Так, например, results[4] должен содержать все 4-буквенные слова в списке. Пожалуйста, поправьте меня, если я неправильно понимаю, что происходит.
То, что я пытаюсь сделать (в целях тестирования и для получения результатов позже), - это распечатать все списки, которые у меня есть в defaultdict, после того, как я закончу чтение файла. Таким образом, он будет печатать список словесных объектов defaultdict[1] в первой строке, список словесных объектов в defaultdict[2] во второй строке и т. д. Я также хотел бы иметь возможность печатать только определенный параметр, когда Я делаю это.
Если это поможет, у меня будет длина самого длинного слова (maxL) после завершения цикла.
Я думаю, что отчасти причина, по которой я не смог заставить это работать, связана с тем, что я неправильно понимаю, как всегда хранится в defaultdict и/или как я его храню. Объяснение будет высоко оценено.