我有一个具有名称和无限数量参数的Object(也是一个带有名称和值的对象)
我对python很新,所以这有点让我头疼 我想获取所有参数并将它们放入字典中。我的代码如下所示:
data = {}
for parameter in object.parameters:
parameter.__dict__
data.update({parameter})
但参数.__ dict__不能像我在这里想的那样工作。 我有什么想法可以让它发挥作用吗?
编辑:感谢它使用data.update(vars(参数))
答案 0 :(得分:0)
通过查看输出,看起来你的类结构是这样的
class class1(object):
def __init__(self, p1, p2):
self.name = p1
self.value = p2
class class2(object):
def __init__(self):
self.parameters = [class1("param1", "value1"), class1("param2", "value2")]
obj = class2()
data = {}
所以当我们做的时候
for parameter in obj.parameters:
print(parameter.__dict__)
我们得到输出
{'value': 'value1', 'name': 'param1'}
{'value': 'value2', 'name': 'param2'}
因此,要获得所需的输出,您必须执行类似
的操作for parameter in obj.parameters:
data[parameter.__dict__['name']] = parameter.__dict__['value']
print(data)
哪个会提供您想要的输出
{'param2': 'value2', 'param1': 'value1'}