第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

急!遞歸方法,從data大字典中找出特定key的value值

急!遞歸方法,從data大字典中找出特定key的value值

猛跑小豬 2019-02-18 19:04:36
題目描述 從data大字典中找出特定鍵GlossTerm的value值 題目來源及自己的思路 題目來自面試筆試題我的思路是先將json格式data序列化得到字典格式data然后遞歸遍歷找到目標鍵后退出遞歸并返回它的值 import json data = json.loads(data) def get_key_node(dict_data,obj_key): for key,value in dict_data.items(): if value: if not isinstance(value,dict): if key==obj_key: print(value) return value else: get_key_node(value,obj_key) print(get_key_node(data,"GlossTerm")) 相關代碼 data = '''{ "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList": { "GlossEntry": { "ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": { "para": "A meta-markup language, used to create markup languages such as DocBook.", "GlossSeeAlso": ["GML", "XML"] }, "GlossSee": "markup" } } } } }'''import jsondata = json.loads(data) def get_key_node(dict_data,obj_key): for key,value in dict_data.items(): if value: if not isinstance(value,dict): if key==obj_key: print(value) return value else: get_key_node(value,obj_key) print(get_key_node(data,"GlossTerm")) 你期待的結果是什么?實際看到的錯誤信息又是什么? 期待的結果是 'Standard Generalized Markup Language 可我的方法結果是 None
查看完整描述

3 回答

?
翻翻過去那場雪

TA貢獻2065條經(jīng)驗 獲得超14個贊

我記得回答過你類似的問題?基于你的代碼改的

def get_dictkeys(dic, find_key):
    find_value = 'no'
    for key, value in dic.items():
        if key == find_key:
            find_value = value
        elif isinstance(value, dict):
            find_value = get_dictkeys(value, find_key)
    if find_value == 'no':
        return 'dict doesnt have this key'
    else:
        return find_value
print get_dictkeys(data, "GlossTerm")

查看完整回答
反對 回復 2019-03-01
?
米琪卡哇伊

TA貢獻1998條經(jīng)驗 獲得超6個贊

試試這樣:

result = []

def get_key_node(dict_data, obj_key):
    v = dict_data.get(obj_key)
    if v is not None:
        result.append(v)
    for value in dict_data.values():
        if isinstance(value, dict):
            get_key_node(value, obj_key)
            
print(result)            
查看完整回答
反對 回復 2019-03-01
  • 3 回答
  • 0 關注
  • 579 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號