根据名称在python字典中查找一组值



我的JSON文件有以下结构:

{ 
"sets": 
[ { "Name": "set1",  "Values": [ "value11", "value12" ] },
{ "Name": "set2",  "Values": [ "value21", "value22" ] } 
] 
}

名称比这更有意义,JSON中还有更多。它被json包读入字典,我的python脚本在某些时候需要set1set2的值。

实际上有两个以上的集合,为了找到正确的集合,我现在使用这个for循环:

for s in protocol_data [ "sets" ]:
if ( s [ "Name" ] == "set2" ):
# do stuff with "Values"

因此,每次需要另一个集合时,需要遍历整个集合数组,这在某种程度上不像是dict的预期方式。是否有更聪明的方法(也许与dict不同的容器)?

一次准备数据怎么样?如果您多次访问数据,这将为运行时节省内存。

protocol_data_sets = {s['Name']: s['Values'] for s in protocol_data['sets']}

可以通过protocol_data_sets['the set you need']

访问所有集合

最新更新