如何在Python3中引用dict()和list()的组合?

时间:2017-12-05 21:34:51

标签: python python-3.x list dictionary

这是一个复杂数据结构的例子。结构的深度不固定。要引用结构中的特定数据,我需要未知数量的索引(对于list())和密钥(对于dict())。

>>> x = [{'child': [{'text': 'ass'}, {'group': 'wef'}]}]
>>> x[0]['child'][0]['text']
'ass'

现在我想要像这样的值使用单个键。

keys = {'ID01': [0]['child'][0]['text'],
        'ID02': [1]['group']}

但这是不可能的。还有另一种pythonic方式吗?

1 个答案:

答案 0 :(得分:3)

我认为你需要一些东西。首先是自定义查找功能:

def lookup(obj, keys):
    for k in keys:
        obj = obj[k]
    return obj

然后是键列表元组的键字典:

keys = {'ID01': (0,'child',0,'text'),
        'ID02': (1,'group')}

然后你可以这样做:

lookup(x, keys['ID01']) # returns 'ass'