-1

我有一个包含类对象的列表。我需要为这个类对象添加一个新值。在不创建新类的情况下如何实现。

样品清单如下

 [<hashmap.Mapping {u'field_id': u'409231ab-0809-4e50-9ad1-7c75f79720b4', u'value': u'12fabdf1e7744e91b0a1c3ee511f876d', u'mapping_id': u'e2e65bcc-12ce-4384-89e5-318ba1c057f7', u'cost': u'1.02003000', u'service_id': None, u'group_id': u'71d36a0f-6d22-4780-839f-b69829db9929', u'type': u'flat'}>]

我需要以下列表

[<hashmap.Mapping {u'name': u'tenant addon', u'field_id': u'409231ab-0809-4e50-9ad1-7c75f79720b4', u'value': u'12fabdf1e7744e91b0a1c3ee511f876d', u'mapping_id': u'e2e65bcc-12ce-4384-89e5-318ba1c057f7', u'cost': u'1.02003000', u'service_id': None, u'group_id': u'71d36a0f-6d22-4780-839f-b69829db9929', u'type': u'flat'}>]

提前致谢

4

1 回答 1

0

我找到了我的问题的解决方案。使用 setattr() 方法向类对象添加新值。给出的样本输出是

[<hashmap.Mapping {u'field_id': u'409231ab-0809-4e50-9ad1-7c75f79720b4', u'value': u'12fabdf1e7744e91b0a1c3ee511f876d', u'mapping_id': u'e2e65bcc-12ce-4384-89e5-318ba1c057f7', u'cost': u'1.02003000', u'service_id': None, u'group_id': u'71d36a0f-6d22-4780-839f-b69829db9929', u'type': u'flat'}>]

实际上这是一个类对象的列表。我们可以使用以下方法向该对象添加新值。a) 定义新列表 b) 迭代当前列表 c) 使用 setattr() 添加新值 d) 将列表附加到新列表中

代码如下

#Iterating the mapp data
    for mapp in mappings:

        #Getting the groups
        setattr(mapp, 'service_name', 'test')
        map_list.append(maps)

这将给出以下输出

[<hashmap.Mapping {u'field_id': u'409231ab-0809-4e50-9ad1-7c75f79720b4', u'value': u'12fabdf1e7744e91b0a1c3ee511f876d', u'mapping_id': u'e2e65bcc-12ce-4384-89e5-318ba1c057f7', u'cost': u'1.02003000', u'service_id': None, u'group_id': u'71d36a0f-6d22-4780-839f-b69829db9929', u'type': u'flat', u'service_name': u'test'}>
于 2016-05-12T04:38:43.673 回答