我的JSON文件有以下结构:
{
"sets":
[ { "Name": "set1", "Values": [ "value11", "value12" ] },
{ "Name": "set2", "Values": [ "value21", "value22" ] }
]
}
名称比这更有意义,JSON中还有更多。它被json
包读入字典,我的python脚本在某些时候需要set1
或set2
的值。
实际上有两个以上的集合,为了找到正确的集合,我现在使用这个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']