我需要根据列表在Python中访问字典。例如:
那么访问字典应该是这样的:
lst = ['A', 'B', 'C']
那么访问字典应该是这样的:
d['A']['B']['C']
- 列表可以包含任意深度/元素。
- 如何最好地解决这个问题?
lst = ['A', 'B', 'C']
d['A']['B']['C']
d = {}
d['A'] = {}
d['A']['B'] = {}
d['A']['B']['C'] = 'value'
lst = ['A', 'B', 'C']
def get_value(d, lst):
for elem in lst:
d = d[elem]
return d
print get_value(d, lst) # outputs 'value'
d
? - Mad Physicistlst = ['A', 'B', 'C']
,则创建的字典将是 d['A']['B']['C'] = {}
。 - John可以使用eval
函数应用于从列表生成的字符串:
eval('d[\''+'\'][\''.join(lst)+'\']')
这里'\'][\'
是一个分隔符。