我在实现 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/