数据类如何编辑列表

dataclass how to edit list

我有一个数据类设置如下:

from dataclasses import dataclass, field
from typing import List

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

我尝试使用

编辑列表的内容

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

这没有任何作用。如何更改列表的内容?

试试这个方法:

class stats:
    foo: list[int] = field(default_factory=list)

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

在本例中,我们可以通过使用像 c 这样的变量来添加列表内容,然后将此变量分配给您的 class 名称。现在您可以通过简单地添加列表内容来添加内容,如图所示。

更多visit here

您的代码中缺少的部分是实例创建和分配给变量。 下面是创建一个名为 sstats 的实例。 创建 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)