Python将多个对象转换为字典

时间:2016-10-10 10:04:34

标签: python dictionary

我有一个具有名称和无限数量参数的Object(也是一个带有名称和值的对象)

我对python很新,所以这有点让我头疼 我想获取所有参数并将它们放入字典中。我的代码如下所示:

data = {}

for parameter in object.parameters:
    parameter.__dict__
    data.update({parameter})

但参数.__ dict__不能像我在这里想的那样工作。 我有什么想法可以让它发挥作用吗?

编辑:感谢它使用data.update(vars(参数))

1 个答案:

答案 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'}