存档

‘Python’ 分类的存档

嵌套的dict按对象方式操作

2010年12月17日 gully 没有评论

直接上代码:

class Struct(object):
    def __init__(self, d):
        self.__dict__ = d
       
def dict_to_struct(d):
    if isinstance(d, (list, tuple)): return map(dict_to_struct, d)
    elif not isinstance(d, dict): return d
    return Struct(dict((k, dict_to_struct(v)) for (k,v) in d.iteritems()))

d = {'a': 1,  'b': {'c': 2},  
     'd': [ [{'s':'s',  'l': [{"ss":"ss"},1]},],
            {'foo': "bar"}],
     }

x = dict_to_struct(d)
print(x.a)
print(x.b.c)
print(x.d[1].foo)

print(x.d[0][0].s)
print(x.d[0][0].l[0].ss)

x.d[0][0].l[0].ss = "CCC"
print(x.d[0][0].l[0].ss)
分类: Python 标签:
本WordPress博客由爱写字提供技术支持