我有一个包含类对象的列表。对于这个类对象,我需要添加一个新值。如何在不创建新课程的情况下实现这一目标。
样本列表如下
[<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'}>]
先谢谢 Binoy
答案 0 :(得分: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'}>