Python检查key-in元素和return-in-list元素的值

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

我有一个json文件,我正在用json库读取这个文件

这是json内容示例

{
  "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'])
印刷品: