python - namedtuple._replace() 不像文档中描述的那样工作

标签 python namedtuple

我在实现 namedtuple._replace() 时遇到了问题,所以我直接从文档中复制了代码:

Point = namedtuple('Point', 'x,y')

p = Point(x=11, y=22)

p._replace(x=33)

print p

我得到了:

Point(x=11, y=22)

代替:

Point(x=33, y=22)

如文档中所示。

我在 Windows 7 上使用 Python 2.6

发生了什么事?

最佳答案

是的,它的工作原理与文档完全一致。

._replace 返回一个新的namedtuple,它不会修改原来的,所以你需要这样写:

p = p._replace(x=33)

请看这里:somenamedtuple._replace(kwargs)了解更多信息。

关于python - namedtuple._replace() 不像文档中描述的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2166147/

相关文章:

python - 命名元组中类型名的相关性

f# - 展开 F# 单例区分联合元组类型

python - 将 (3) 个 32 字符的十六进制哈希组合成一个唯一的 32 字符的哈希?

python - 用于限制对象中属性类型的函数(Python、mypy)

Python 从类中获取值

php - 换行符 php python

python - 将 namedtuple 中的信息作为参数传递的更好方法

python - namedtuple 字段名称 : single string or sequence?

python - 为什么我们可以继承 `typing.NamedTuple` ?

python - pandas 数据帧在不均匀的时间/分钟内重新采样