繁体   English   中英

如何从列表中获取字典键?

[英]How to get to a dict key from a list?

可以说我有以下字典结构和键列表。

d = {
    'a': {
        'b': {
            'c': 'value'
        }
    }
}
keyList = ['a', 'b', 'c']

以动态方式引用 c 键的值的 pythonic 方法是什么? 在 static 方式中,我会说类似d[a][b][c]东西,但是如果我的 keyList 是动态的并且我需要在运行时引用该值,有没有办法做到这一点? keyList 的 len 是可变的。

主要问题是我真的不知道要搜索什么。 我尝试了动态字典路径之类的东西,但无法远程关闭任何东西

您可以使用functools.reduce ,将输入字典作为起始值,将dict.get作为缩减值 function:

from functools import reduce

print(reduce(dict.get, keyList, d))

这输出:

value

演示: https://replit.com/@blhsing/QuintessentialAntiqueMath

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM