Добавить в dataclass поле, содержащее список
Имеется список словарей
b = [{'n': 1, 'id': 3, 'animal': [tiger, bear]}, {'n': 4, 'id': 1, 'animal': [tit, sparrow]}, {'n': 1, 'id': 2, 'animal': [perch, herring]}]
Необходимо для него написать dataclass.
Ранее использовала следующую конструкцию:
@dataclass()
class Texts:
n: int
id: int
b = [Texts(d["n"], d["id"]) for d in texts]
Не понимаю, как добавить поле для списка в класс
Ответы (1 шт):
Автор решения: Елена Сергеева
→ Ссылка
Чуть более углубившись в поиски ответа, нашла решение:
from dataclasses import dataclass, field
from typing import List
@dataclass()
class Texts:
id: int
text: str
orig_str: List[str] = field(default_factory=list)
b = [Texts(d["id"], d["text"], d["orig_str"]) for d in texts]