相关疑难解决方法(0)

在Python中是否存在可变的命名元组?

任何人都可以修改namedtuple或提供替代类,以便它适用于可变对象吗?

主要是为了可读性,我想要类似于namedtuple这样做:

from Camelot import namedgroup

Point = namedgroup('Point', ['x', 'y'])
p = Point(0, 0)
p.x = 10

>>> p
Point(x=10, y=0)

>>> p.x *= 10
Point(x=100, y=0)
Run Code Online (Sandbox Code Playgroud)

必须可以腌制生成的对象.并且根据命名元组的特征,当表示时,输出的排序必须与构造对象时参数列表的顺序相匹配.

python mutable namedtuple

105
推荐指数
6
解决办法
3万
查看次数

使用Python输入模块指定Sequence或List的长度

我正在给Python typing模块一个镜头.

我知道指定List以下*的长度是有效的:

List[float, float, float]   # List of 3 floats <-- NOTE: this is not valid Python
Run Code Online (Sandbox Code Playgroud)

是否有更长的名单的简写?如果我想将它设置为10个花车怎么办?

List[float * 10]   # This doesn't work.
Run Code Online (Sandbox Code Playgroud)

如果这是可能的,任何想法,这将是方便的.


*注意:事实证明Sequence[]以这种方式向(及其子类)提供多个参数当前不是有效的Python.此外,目前不可能以这种方式Sequence使用typing模块指定长度.

python type-hinting python-3.x mypy

15
推荐指数
4
解决办法
4423
查看次数

标签 统计

python ×2

mutable ×1

mypy ×1

namedtuple ×1

python-3.x ×1

type-hinting ×1