如何将数据类转换为python字典?在本例中,数据类的一个字段包含字典,字典的键是另一个数据类,似乎有必要以某种方式将嵌套的数据类转换为元组
@dataclass(frozen=True)
class Two:
a:str = 'World'
@dataclass
class First:
a: str = 'Hello'
b: set[Two] = field(default_factory=lambda: set())
c: defaultdict = field(default_factory=lambda: defaultdict(set))
d: defaultdict[Two, set] = field(default_factory=lambda: defaultdict(set))
f: str = None
obj = First()
obj.b.add(Two())
obj.d[Two('!')].add(1)
obj
我有下面的代码,但不幸的是它抛出了一个错误:
import dataclass_factory
factory = dataclass_factory.Factory()
factory.dump(obj)
# TypeError: unhashable type: 'dict'
1条答案
按热度按时间8yparm6h1#
要将Python
dataclass
转换为字典,可以使用dataclasses
模块提供的asdict
函数。希望这将把您引向正确的方向,尽管我对嵌套的
dataclasses
不太确定。