将一个属性/字段的所有属性复制到另一个命名元组

问题描述 投票:-2回答:1

尽管一个属性/字段从一个属性/字段复制到另一个命名元组,最短的方法是什么?可以按照以下方式进行操作。

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,
                  )

但是我有更多的字段,并且希望使用更短的实现。该问题与Python: Copying named tuples with same attributes / fields有关。

python python-3.x namedtuple
1个回答
-1
投票

克隆旧元组并修改属性:

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

如果您还想克隆属性本身,也可以使用copy.deepcopy()。>>

© www.soinside.com 2019 - 2024. All rights reserved.