Python - 从键列表中访问分层dict元素
假设我有一个常规的"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 |
本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!
从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。
本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。