有没有一种干净的方法来对python对象的所有属性调用 dict ?具体来说,当我在我的对象上调用 dict 时,得到以下信息:

{'edges': [<dawg.Edge instance at 0x107aa0200>,
           <dawg.Edge instance at 0x10a581a70>,
           <dawg.Edge instance at 0x10656a680>]}

但我希望该输出是实例的 dict ()而不是实例描述。

编辑:我想我应该澄清一下,我正在尝试对对象进行JSON化,因此我需要将type(obj ['edges'] [0])用作字典。

最佳答案

我认为 repr 解决方案会更干净,但您也可以通过获取上面描述的字典后(通过将其称为d1)添加此行来获得所需的内容

d2 = {'edges' : map(lambda x: x.getDict(), d1['edges'])}

或使用列表理解而不是 map
d2 = {'edges' : [i.getDict() for i in d1['edges']]}

如果可以为我描述一些您想要的东西,我将尝试实现getDict或在该lambda中编写更多内容,但是我不确定您要做什么。它是所有边字段的字典吗?

关于python - 在python对象上递归__dict__调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4485120/

10-16 18:41