Python检查key-in元素和return-in-list元素的值
我有一个json文件,我正在用json库读取这个文件 这是json内容示例Python检查key-in元素和return-in-list元素的值,python,list,object,Python,List,Object,我有一个json文件,我正在用json库读取这个文件 这是json内容示例 { "type": "champion", "format": "standAloneComplex", "version": "10.18.1", "data": { "Aatrox": { "version&quo
{
"type": "champion",
"format": "standAloneComplex",
"version": "10.18.1",
"data": {
"Aatrox": {
"version": "10.18.1",
"id": "Aatrox",
"key": "266",
"name": "Aatrox"
},
"Ahri": {
"version": "10.18.1",
"id": "Ahri",
"key": "103",
"name": "Ahri",
},
}
现在我如何检查key是否等于266并返回name的值
我试着做这样的事情
import json
with open('./source/champion.json') as json_file:
data_champs = json.load(json_file)['data']
for champ in data_champs:
for champ_info in data_champs[champ]:
if champ['key'] == 266:
print(champ)
但是返回类型错误:字符串索引必须是整数请尝试以下操作:
导入json
以打开的“./source/champion.json”作为json_文件:
json.loadjson_文件['data']中的名称、信息。项:
如果信息['key']==266:
打印名
或者更好的是,我们可以在获取数据后关闭文件,而不在处理过程中保持打开状态:
导入json
以打开的“./source/champion.json”作为json_文件:
data=json.loadjson_文件['data']
data.items中的名称、信息:
如果信息['key']==266:
打印名
解释
迭代dict元素的最简单方法是使用其.items方法:
对于键,d项中的值:
打印键,->,值
下面只对值进行迭代,因为键在这里不重要
import json
with open('data.json') as f:
data = json.load(f)['data']
for v in data.values():
if v['key'] == '266':
print(v['name'])
break
输出
Aatrox
Aatrox
给你:
import json
with open('champion.json') as json_file:
data_champs = json.load(json_file)['data']
for data in data_champs.keys():
if data_champs[data]['key']=='266':
print(data_champs[data]['name'])
印刷品: