首页 > 解决方案 > 数据类如何编辑列表

问题描述

我有一个像这样设置的数据类:

from dataclasses import dataclass, field
from typing import List

@dataclass
class stats:
   foo: List[list] = field(default_factory=list)

我尝试使用编辑列表的内容

stats().foo = [[1], [1]]

这什么也没做。如何更改列表的内容?

标签: pythonpython-dataclasses

解决方案


您的代码中缺少的部分是实例创建和分配给变量。下面是创建一个stats名为的实例s。创建后,您可以使用数据成员或方法s填充foo或执行任何您想做的事情s

from dataclasses import dataclass, field
from typing import List

@dataclass
class stats:
   foo: List[list] = field(default_factory=list)

s = stats()
s.foo = [[1], [1]]
print(s)

另一种选择是使用__init__以填充实例:

from dataclasses import dataclass, field
from typing import List


@dataclass
class stats:
    foo: List[list] = field(default_factory=list)

s = stats(['A', 'B'])
print(s)

推荐阅读