我有一个多维字典,我希望能够通过键:键对检索值,如果第一个键不存在则返回“NA”。所有的子字典都有相同的键。
d = { 'a': {'j':1,'k':2},
'b': {'j':2,'k':3},
'd': {'j':1,'k':3}
}
我知道我可以使用 d.get('c','NA')
获取子字典(如果它存在),否则返回“NA”,但我真的只需要子字典中的一个值。我想做一些类似 d.get('c['j']','NA')
如果存在的话。
现在我只是检查顶级键是否存在,然后将子值分配给变量(如果存在)或 'NA'
如果不存在。但是,我这样做了大约 50 万次,还从其他地方检索/生成有关每个顶级密钥的其他信息,我正在尝试加快速度。
原文由 user2034412 发布,翻译遵循 CC BY-SA 4.0 许可协议
怎么样
?
如果不是所有子项都有
j
键,那么要减少创建的相同对象,您可以设计类似
使用
defaultdict
想法相同: