Convert nested Python dict to object?

后端 未结 30 2438
时光取名叫无心
时光取名叫无心 2020-11-22 09:28

I\'m searching for an elegant way to get data using attribute access on a dict with some nested dicts and lists (i.e. javascript-style object syntax).

For example:

30条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-22 10:18

    There's a collection helper called namedtuple, that can do this for you:

    from collections import namedtuple
    
    d_named = namedtuple('Struct', d.keys())(*d.values())
    
    In [7]: d_named
    Out[7]: Struct(a=1, b={'c': 2}, d=['hi', {'foo': 'bar'}])
    
    In [8]: d_named.a
    Out[8]: 1
    

提交回复
热议问题