假设我有一个常规的"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 |
---|
收藏 | 0点赞 | 0打赏
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有