从已设置的值创建namedtuple实例

时间:2015-11-20 11:46:07

标签: python namedtuple

我有namedtuple这样的

course_summary_struct = namedtuple(
                'CourseSummary',
                ['id', 'display_name', 'location', 'display_coursenum', 'display_organization']
)

我想动态更新namedtuple,直到我确定它具有所有必需的信息。

所以我用步骤中的所有值更新course_summary_struct

现在我在一个需要从course_summary_struct创建实例的地方

summery = course_summary_struct() #<===== Issue here

我想在summery中填写course_summary_struct中的所有信息。

我该怎么做?

3 个答案:

答案 0 :(得分:1)

元组是不可变的,在创建后无法更改。

您可以使用recordclass.recordclass

答案 1 :(得分:1)

在实际创建命名元组实例之前,请等待所有必要信息。

#import

答案 2 :(得分:0)

如果您在Dictionary中有数据,则可以这样做

course_summary_struct = namedtuple(
                'CourseSummary',
                ['id', 'display_name', 'location', 'display_coursenum', 'display_organization'])
# Your data
data = {
    'id': 1,
    'display_name': 'naren',
    'location': 'Bengaluru',
    'display_coursenum': 11,
    'display_organization': ':D'}

course_summary_struct(**data)

# Creates > CourseSummary(id=1, display_name='naren', location='Bengaluru', display_coursenum=11, display_organization=':D')

或者,如果您有其他方式,请使用setattr

setattr(course_summary_struct, 'id', 11)