Python dataclass如何编辑列表
我有一个这样设置的数据类:Python dataclass如何编辑列表,python,python-dataclasses,Python,Python Dataclasses,我有一个这样设置的数据类: 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(defau
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这样的变量来添加列表内容,然后将该变量分配给您的类名。现在,只需添加列表内容即可添加内容,如图所示
如需了解更多信息,代码中缺少的部分是实例创建和分配给变量。 下面正在创建名为
s
的stats
实例。
创建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)
另一个选项是使用\uuuu init\uuu
来填充实例:
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)
您正在修改
foo
的instance属性,而不是class属性。由于您没有将stats()
绑定到变量,因此在该行之外不会发生任何事情OP面临的问题与数据类无关,而与类/实例有关。你应该解释为什么他们的代码不起作用。明白了,下次会注意的。你回答了这个问题,所以你应该解释这个问题,而不是下次。。。