将嵌套的Python字典转换为对象?

将嵌套的Python字典转换为对象?,第1张

嵌套的Python字典转换为对象?

更新:在Python 2.6及更高版本中,请考虑namedtuple数据结构是否满足你的需求:

>>> from collections import namedtuple>>> MyStruct = namedtuple('MyStruct', 'a b d')>>> s = MyStruct(a=1, b={'c': 2}, d=['hi'])>>> sMyStruct(a=1, b={'c': 2}, d=['hi'])>>> s.a1>>> s.b{'c': 2}>>> s.cTraceback (most recent call last):  File "<stdin>", line 1, in <module>AttributeError: 'MyStruct' object has no attribute 'c'>>> s.d['hi']

备选方案(原始答案内容)为:

class Struct:    def __init__(self, **entries):        self.__dict__.update(entries)

然后,你可以使用:

>>> args = {'a': 1, 'b': 2}>>> s = Struct(**args)>>> s<__main__.Struct instance at 0x01D6A738>>>> s.a1>>> s.b2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5566230.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存