Python - 从键列表中访问分层dict元素
2024-07-29
40
假设我有一个常规的"dict-of-dicts"如下:
?d = {} d[ 'a' ] = {} d[ 'a' ][ 'b' ] = 3 |
我当然可以使用它来访问元素d['a']['b']
.
在我的例子中,我有一个递归应用程序,在其中我将当前状态保持为键列表.所以我会的
?my_key = [ 'a' , 'b' ] |
如何使用my_key
?访问值3 ?当然,问题在于my_key
可以任意长(深).
我意识到我可以编写另一个遍历函数,但似乎应该有一种直接的方法.有任何想法吗?
1> Kevin..:
您可以使用reduce
不同的密钥迭代索引每一层dict:
>>> from functools import reduce #only necessary in 3.X >>> d = {} >>> d[ 'a' ] = {} #I'm assuming this is what you meant to type >>> d[ 'a' ][ 'b' ] = 3 >>> keys = ( "a" , "b" ) >>> reduce(dict.get, keys, d) 3 |
赞一波!1
相关文章
- PHP 命名空间元素访问及use的使用
- Python环境安装,解释器配置
- Vue组件的data必须是一个函数、单个根元素、局部组件
- 使用 Python 开发桌面应用程序的最佳方法是什么?
- 父元素透明度不影响子元素透明度解决方案
- Scala和Python有什么区别?
- 在Windows 10计算机上安装Python的最佳方法是什么?
- 使用 Python 拆分文本文件的最快方法是什么?
- Python定时任务调度框架APScheduler详解
- 我应该使用 PyCharm 在 Python 中编程吗?
- json python中的转储函数
- 你如何在 Python 中循环字典?
- 有哪些好的机器学习 Python 包?
- 对于初学者来说,有哪些好的 Python 示例?
- 地图函数在 Python 中有什么用?
- 如何在 Anaconda 中安装 Python 包?
- “//”在python中是什么意思?
- 对未来的技能,Go和Python哪个更好?
- 使用Python时绝对不应该做什么?
- 真正优秀的Python开发人员拥有哪些技能?
文章评论
全部评论