如何提取Python嵌套字典列表组合结构中的指定值"that"
解决方法
你可以按照嵌套结构的层级逐层索引取值,最终实现代码如下:
x = { 'k1':['val1', 'val2', 'val3', {'we': ['need','to', 'go', {'deeper': [1,2,3, 'that'] } ] } ] } # 逐层获取目标值 target = x['k1'][3]['we'][3]['deeper'][3] print(target)
运行上述代码后即可输出that。
取值逻辑说明
每层取值的对应关系如下:
x['k1']:取最外层字典x中键k1对应的列表[3]:取上述列表的第4个元素(Python索引从0开始计数),得到包含键we的字典['we']:取该字典中键we对应的列表[3]:取上述列表的第4个元素,得到包含键deeper的字典['deeper']:取该字典中键deeper对应的列表[3]:取上述列表的第4个元素,就是目标字符串that
如果需要避免键不存在、索引越界抛出的异常,也可以用get方法设置默认值做兼容:
target = x.get('k1', [])[3].get('we', [])[3].get('deeper', [])[3] print(target)
内容的提问来源于stack exchange,提问作者akkanzy
相关产品推荐
相关产品推荐

