所以我想说我有一个表格字典:
d = {'a':{'b':{'c':1,'d':2},'e':1}}
我希望从列表中获取一个元素,其中包含在列表中定义的键,例如:
l = ['a','e']
或
l = ['a','b','c']
我可以这样做:
def getVal(d,keys):
if keys==[]:
return d
else:
nextD = d[keys.pop(0)]
return getVal(nextD,keys)
但我想知道是否有更灵巧的python方式来实现它
(类似于val = d [* l] ???)
答案 0 :(得分:0)
根据Martijn评论中的链接,这个问题的答案是:
def getVal(d,keys):
return reduce(dict.__getitem__, keys, d)