python之如何查找多層嵌套字典的值
python查找多層嵌套字典的值
def find_dic(item, key):
if isinstance(item, dict):
for k,v in item.items():
key[k] = v
find_dic(v, key)
else:
return item
def get_by_key(item, key):
dic = {}
find_dic(item, dic)
value = dic.get(key)
if __name__ == "__main__":
d = {'name': 'xiaohong', 'famliy_member': {'self': 'xiaohong', 'children': {'son': 'xiaoxiaobai', 'g': 'xiaoxiaohong'}}}
get_by_key(d, 'self')python字典的多層嵌套,如何快速定位到需要的數(shù)據(jù)
例如:現(xiàn)有一個(gè)字典
data = {'key1': {'key2': {'key3': {'key4': {'key5': 'python'}}}}}現(xiàn)在想要獲取到key5的值python
一般的做法是
print(data['key1']['key2']['key3']['key4']['key5'])
這樣能得到自己想要的結(jié)果,此種方法便于理解,但是需要寫的代碼偏多
另一種方法,下載一個(gè)jsonpath包
jsonpath包的主要作用是以一種簡(jiǎn)單的方法來提取json文檔的部分內(nèi)容
他提供了類似正則表達(dá)式的語法
常用操作
| $ | 查詢根元素 |
| .. | 深層掃描 |
| .<name> | 點(diǎn),表示子節(jié)點(diǎn) |
回到例題
想要獲取到python
可以這樣寫
$..key5
具體使用如下:
from jsonpath import jsonpath
data = {'key1': {'key2': {'key3': {'key4': {'key5': 'python'}}}}}
# 一般方法
print(data['key1']['key2']['key3']['key4']['key5'])
# 快速打印['python'] python
print(jsonpath(data, '$..key5')[0])總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Pytorch卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)的目標(biāo)及好處
這篇文章主要為大家介紹了Pytorch卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)的目標(biāo)實(shí)現(xiàn)代碼及好處介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Python+Pygame實(shí)戰(zhàn)之瘋狂吃水果游戲的實(shí)現(xiàn)
吃豆人和切水果這兩個(gè)游戲相信大家都不陌生吧,本文將利用Python中的Pygame模塊編寫出一款結(jié)合吃豆人+切水果的新游戲:瘋狂吃水果,感興趣的可以了解一下2022-06-06
Python+wxPython實(shí)現(xiàn)文件名批量處理
在日常的文件管理中,我們經(jīng)常需要對(duì)文件進(jìn)行批量處理以符合特定的命名規(guī)則或需求,本文主要介紹了如何使用wxPython進(jìn)行文件夾中文件名的批量處理,需要的可以參考下2024-04-04
Python 生成一個(gè)從0到n個(gè)數(shù)字的列表4種方法小結(jié)
今天小編就為大家分享一篇Python 生成一個(gè)從0到n個(gè)數(shù)字的列表4種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
python+requests+pytest接口自動(dòng)化的實(shí)現(xiàn)示例
這篇文章主要介紹了python+requests+pytest接口自動(dòng)化的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Python實(shí)戰(zhàn)之自動(dòng)發(fā)送郵件的實(shí)現(xiàn)
自動(dòng)發(fā)送郵件能應(yīng)用于許多場(chǎng)景,下面本文就來和大家講講怎么用Python構(gòu)建一個(gè)自動(dòng)發(fā)送郵件的腳本。感興趣的小伙伴可以動(dòng)手嘗試一下2022-05-05
python采集百度搜索結(jié)果帶有特定URL的鏈接代碼實(shí)例
這篇文章主要介紹了python采集百度搜索結(jié)果帶有特定URL的鏈接代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08

