数据类如何编辑列表
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 名称。现在您可以通过简单地添加列表内容来添加内容,如图所示。
您的代码中缺少的部分是实例创建和分配给变量。
下面是创建一个名为 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)
另一种选择是使用 __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)
我有一个数据类设置如下:
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 名称。现在您可以通过简单地添加列表内容来添加内容,如图所示。
您的代码中缺少的部分是实例创建和分配给变量。
下面是创建一个名为 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)
另一种选择是使用 __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)