亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python遞歸函數該怎么用

發布時間:2021-12-18 14:30:44 來源:億速云 閱讀:133 作者:iii 欄目:大數據

本篇內容介紹了“python遞歸函數該怎么用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

首先,函數就是函數,遞歸函數也仍然是函數,大家不要誤以為函數還分了許多種。只是遞歸函數和其他函數有所不同,因此給它單獨起了一個名字,目的是方便我們交流,你一說遞歸函數,我就明白了,這個函數在執行的時候會調用自己,僅此而已。

先說我遇到的問題吧。我的程序調用一個API,返回的結果是一個字典,讓人難受的是,我需要的信息在字典里,但分布的位置卻不是固定的,例如下面的字典:

maze_dict = {
   'machine':'apple',
   'name':u'升',
   'bus':{
       'no':1,
       'direction':'east',
       'west':{
           'where':'beijing',
           'date':'today',
           'python':'python1'
       }
   },
   'python':'python2',
   'pythongroup':{
       'group':{
           'group':{
               'group':{
                   'python':'python3'
               }
           }
       }
   }
}

假設我想提取的信息都是以python作為關鍵字的鍵值對里的value部分,可是,python關鍵字具體在哪里,我事先是不知道的。我不能通過關鍵字,從最外層向里面層層訪問,因為這個路徑是不確定的。這里,我們就要用到遞歸函數,層層推進。

def find_python(info,lst):
   if not isinstance(info,dict):
       return

   for k,v in info.items():
       if k == 'python':
           lst.append(v)
       elif isinstance(v,dict):
           find_python(v,lst)

if __name__ == '__main__':
   lst = []
   find_python(maze_dict,lst)
   print lst

find_python函數的定義并不復雜,當一個鍵值對的value部分是字典時,它便再次調用自己,到下一層去尋找python關鍵字。

理解遞歸函數的難點在于,每一次函數的調用都從頭開始執行了,但是函數傳入的參數是變化的,其次,進入到下一層函數時,這一層函數并沒有終結哦,而是等到下一層函數結束時,自己再繼續執行,就像盜夢空間一樣,夢境層層遞進,但是也會有一個退出的過程,一定是下一層的夢境結束了,當前這一層做夢的人醒過來,然后繼續退出,上一層夢境的人接著醒過來。

“python遞歸函數該怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

勃利县| 长宁县| 南投县| 临漳县| 呼伦贝尔市| 鄂尔多斯市| 绥阳县| 九江市| 黔西县| 临江市| 龙山县| 荃湾区| 行唐县| 姜堰市| 华安县| 天柱县| 资中县| 临澧县| 团风县| 南陵县| 巢湖市| 屯留县| 长宁区| 永和县| 浮山县| 曲靖市| 鄢陵县| 土默特右旗| 平遥县| 桑植县| 石家庄市| 嫩江县| 临夏市| 东兴市| 长兴县| 乌拉特中旗| 麻江县| 金塔县| 浮山县| 汝阳县| 玛多县|