有些人知道是否有可能通过使用他们的键作为字符串在dict中获取dict。。。对不起,解释得不好,我想代码会更清楚。。。我不知道该怎么说才对
s={"framework": {"challenger": {
"logo.qvg": "50c137c8199d0a807bc31b5c384e67d6c1c0837061bd7d39ed15943b"}}}
possible_folders=["tractor","svg","framework","common",'framework["challenger"]']
print(s['framework']['challenger']) # this line is working
print(s[possible_folders[-1]]) # here im getting keyerror-> due to the string...
您可以使用
eval()
函数,如:我并不是说我会推荐它,但它是在您的问题中使用字符串语法的唯一解决方案。其他答案更好,但需要更改列表
我认为您需要的是一种通过一系列键访问嵌套dict的方法。有很多方法可以做到这一点。我喜欢定义一个简单的函数,如:
然后使用类似
keys = ('framework', 'challenger')
的元组:这是不可能的
s
是一个dict
带有一个键"framework"
。没有办法索引s
来获得s
值中更深的内容但是,您可以编写一个函数,该函数接受一个键列表并迭代地挖掘
dict
。(Iguananaut通过更好的错误处理来实现这一点。)相关问题 更多 >
编程相关推荐