这是本公众号推出一个#代码片段#的系列合集,分享平常学习或阅读过程中发现的实用代码片段(Code Snippets),会涉及 Python、JavaScript、TypeScritp、Swift等多种语言。
欢迎大家关注公众号获取最新推送,也可以进入合集页面点击订阅,直接获取合集更新推送。
合集传送门:代码片段精选

从字典或列表中读取由给定选择器列表指示的嵌套键的值。
使用 functools.reduce() 遍历选择器列表。
选择器中的每个键应用 operator.getitem(),获取作为下一次迭代的迭代值。

from functools import reduce
from operator import getitem
def get(d, selectors):
return reduce(getitem, selectors, d)
users = {
'freddy': {
'name': {
'first': 'fred',
'last': 'smith'
},
'postIds': [1, 2, 3]
}
}
get(users, ['freddy', 'name', 'last']) # 'smith'
get(users, ['freddy', 'postIds', 1]) # 2
- EOF -
回复下方「关键词」,获取优质资源
回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版
👇关注我的公众号👇
告诉你更多细节干货
欢迎围观我的朋友圈
👆每天更新所想所悟