有没有一种干净的方法可以在 python 对象的所有属性上调用dict?具体来说,当我在我的对象上调用dict时,我得到了这个:
{'edges': [<dawg.Edge instance at 0x107aa0200>,
<dawg.Edge instance at 0x10a581a70>,
<dawg.Edge instance at 0x10656a680>]}
Run Code Online (Sandbox Code Playgroud)
但我希望该输出是实例的dict () 而不是实例描述。
编辑:我想我应该澄清一下,我正在尝试对对象进行 JSONify,所以我需要 type(obj['edges'][0]) 作为一个 dict。
我认为repr解决方案会更干净,但是您也可以通过在获取上面描述的字典后添加此行来获得您想要的内容(我称之为d1)
d2 = {'edges' : map(lambda x: x.getDict(), d1['edges'])}
Run Code Online (Sandbox Code Playgroud)
OR 用列表理解代替映射
d2 = {'edges' : [i.getDict() for i in d1['edges']]}
Run Code Online (Sandbox Code Playgroud)
如果您能为我描述您想要的更多内容,我将尝试实现 getDict 或在该 lambda 中编写更多内容,但我不太确定您想要什么。它是所有边字段的字典吗?