Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python dataclass如何编辑列表_Python_Python Dataclasses - Fatal编程技术网

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面临的问题与数据类无关,而与类/实例有关。你应该解释为什么他们的代码不起作用。明白了,下次会注意的。你回答了这个问题,所以你应该解释这个问题,而不是下次。。。