溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python字典嵌套字典的情況下找到某個(gè)key的value詳解

發(fā)布時(shí)間:2020-10-05 09:21:59 來源:腳本之家 閱讀:181 作者:哈哈微笑很傾城 欄目:開發(fā)技術(shù)

最近在用python寫接口的測(cè)試程序,期間用到解析字典獲取某個(gè)key的value,由于多個(gè)接口返回的字典格式不是固定的并存在多層嵌套的情況。在字典的方法中也沒有找到可直接達(dá)到目的的方法(也可能是我對(duì)字典的方法了解的不深的緣故),于是自己寫了個(gè)程序。

下面是代碼

#coding: utf-8
import types

#獲取字典中的objkey對(duì)應(yīng)的值,適用于字典嵌套
#dict:字典
#objkey:目標(biāo)key
#default:找不到時(shí)返回的默認(rèn)值
def dict_get(dict, objkey, default):
  tmp = dict
  for k,v in tmp.items():
    if k == objkey:
      return v
    else:
      if type(v) is types.DictType:
        ret = dict_get(v, objkey, default)
        if ret is not default:
          return ret
  return default

#如
dicttest={"result":{"code":"110002","msg":"設(shè)備設(shè)備序列號(hào)或驗(yàn)證碼錯(cuò)誤"}}
ret=dict_get(dicttest, 'msg', None)
print(ret)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI