python - Python检查元素中键的值并返回列表中的元素
问题描述
我有一个 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)
但返回 TypeError:字符串索引必须是整数
解决方案
下面(仅迭代值,因为键在这里并不重要)
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
推荐阅读
- c - 如何创建一个简单的函数,给定一个单词可以删除 C 中包含它的特定行
- spring - Spring WS 中配置自己替换 DefaultMethodEndpointAdapter 的正确方法是什么?
- c# - LINQ 等效于 SQL LIKE 用于带有数字的文本字段
- c# - 调用下一个委托后,中间件应使请求失败
- java - 定期从 spring 安全上下文中检索到的用户为空
- php - Spatie Medialibrary 裁剪图像白色背景边框
- wordpress - 在 WordPress 中为 SplitIt Payments 重新定位插件操作 woocommerce_before_cart_totals
- python - 将数据库项目输出到 pdf 文档
- hyperledger-fabric - 为什么 Go 链码不需要注解?
- kurento - Kurento自定义过滤器未实现