将一个 attributes/fields 中的所有复制到另一个 namedtuple

Copying all despite of one attributes/fields of one to another namedtuple

将一个 attribute/field 从一个命名元组复制到另一个命名元组的最短方法是什么?可以像下面那样做。

initial_person = Person(name='Bob', age=30, gender='male')

new_age = 31

modified_person = Person(name=initial_person.name,
                         age=new_age,
                         gender=initial_person.gender,
                  )

但是我有更多的字段并且更喜欢更短的实现。此问题与 .

有关

使用_replace()

initial_person = Person(name='Bob', age=30, gender='male')
modified_person = initial_person._replace(age=31)

请注意,这是一个小技巧,理论上您不应该使用开头带有下划线的方法。