亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python檢查元素中鍵的值并返回列表中的元素

Python檢查元素中鍵的值并返回列表中的元素

慕沐林林 2023-08-08 15:27:03
我有一個 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 jsonwith 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: 字符串索引必須是整數
查看完整描述

3 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

請嘗試以下操作:


import json



with open('./source/champion.json') as json_file:

    for name, info in json.load(json_file)['data'].items():

        if info['key'] == 266:

            print(name)

或者更好的是,我們可以在獲取數據后關閉文件,而不是在處理過程中保持文件打開狀態:


import json



with open('./source/champion.json') as json_file:

    data = json.load(json_file)['data']


for name, info in data.items():

    if info['key'] == 266:

        print(name)

解釋

迭代 adict的元素的最簡單方法是使用它的.items()方法:


for key, value in d.items():

    print(key, "-->", value)


查看完整回答
反對 回復 2023-08-08
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

下面(僅迭代值,因為鍵在這里并不重要)


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


查看完整回答
反對 回復 2023-08-08
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

干得好:


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'])

印刷:


Aatrox


查看完整回答
反對 回復 2023-08-08
  • 3 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號