當前位置:成語大全網 - 新華字典 - Python 實現遞歸

Python 實現遞歸

壹、使用遞歸的背景

先來看壹個?接口結構:

這個孩子,他是壹個列表,下面有6個元素

展開children下第壹個元素[0]看看:

發現[0]除了包含壹些字段信息,還包含了 children 這個字段(喜當爹),同時這個children下包含了2個元素:

展開他的第壹個元素,不出所料,也含有children字段(人均有娃)

可以理解為children是個對象,他包含了壹些屬性,特別的是其中有壹個屬性與父級children是壹模壹樣的,他包含父級children所有的屬性。

比如每個children都包含了壹個name字段,我們要拿到所有children裏name字段的值,這時候就要用到遞歸啦~

二、find_children.py

拆分理解:

1.首先import requests庫,用它請求並獲取接口返回的數據

2.若children以上還有很多層級,可以縮小數據範圍,定位到children的上壹層級

3.來看看定義的函數

我們的函數調用:find_children(node_f, 'children')

其中,node_f:json字段

children:遞歸對象

?以下這段是實現遞歸的核心:

? if items['children']:

?items['children']不為None,表示該元素下的children字段還有子類數據值,此時滿足if條件,可理解為 if 1。

?items['children']為None,表示該元素下children值為None,沒有後續可遞歸值,此時不滿足if條件,可理解為 if 0,不會再執行if下的語句(不會再遞歸)。

至此,每壹層級中children的name以及下壹層級children的name就都取出來了

希望到這裏能幫助大家理解遞歸的思路,以後根據這個模板直接套用就行

(晚安啦~)

源碼參考: /archives/5767