小编mar*_*345的帖子

Python 数据类设置带有值的默认列表

谁能帮我解决这个错误。我刚刚开始使用数据类,我想设置一个默认值,这样我就可以轻松地从其他函数调用

我有这门课

@dataclass(frozen=True)
class MyClass:
    my_list: list = ["list1", "list2", "list3"]
    my_list2: list = ["list1", "list2", "list3"]
Run Code Online (Sandbox Code Playgroud)

但是当我打印 print(MyClass.my_list) 时,我收到此错误

 raise ValueError(f'mutable default {type(f.default)} for field '
ValueError: mutable default <class 'list'> for field my_list is not allowed: use default_factory
Run Code Online (Sandbox Code Playgroud)

python

11
推荐指数
1
解决办法
2万
查看次数

如何从多个字段别名中设置一个字段?

有没有办法在不使用 的情况下使用多个字段别名root_validator

我当前的代码是这样的:

class GetInfo(BaseModel):
    name: str = Field(alias='name1')
    name2: str = Field(alias='name2')
    
    @root_validator
    def format_name(cls, values):
        if values['name'] is None:
            if values['name2'] is not None:
                values['name'] = values['name2']
            return values
        return None
Run Code Online (Sandbox Code Playgroud)

name1字段有时为空,而该name2字段大部分不为空。如果确实为空
,我想使用该值。name2name1

或者你能建议比我更好的方法吗?

python pydantic

6
推荐指数
1
解决办法
4808
查看次数

Python 从生成器项中获取最后一个元素

我对使用生成器而不是列表感到非常惊讶。但我找不到这个问题的任何解决方案。

从生成器项中获取第一个和最后一个元素的有效方法是什么?因为使用列表我们可以只执行 lst[0] 和 lst[-1]

谢谢您的帮助。我无法提供任何代码,因为很明显这正是我想知道的:)

python

5
推荐指数
1
解决办法
2660
查看次数

标签 统计

python ×3

pydantic ×1