色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在Python中什么情況必須使用遞歸

jf_78858299 ? 來源:人工智能知識分享 ? 作者:人工智能知識分享 ? 2023-02-21 14:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在前面的文章中,我們說到了可以使用循環語句來替代遞歸。但是,有時候必須使用遞歸,或者說使用遞歸才是更方便的解決方案。

考慮像下面這樣的一個任務:計算一個嵌套的子列表結構中所有數字的總和:

[1,[2,[3,4],5],6,[7,8]] # Arbitrarily nested sublists

簡單的循環語句在這里不起作用,因為這不是一個線性迭代。嵌套的循環語句也不夠用,因為子列表可能嵌套到任意的深度并且以任意的形式嵌套。相反,下面的代碼使用遞歸來對應這種一般性的嵌套,可以順序地訪問子列表:

def sumtree(L):

tot = 0

for x in L:                                # For each item at this level

    if not isinstance(x,list):

        tot += x                           # Add numbers directly

    else:

        tot += sumtree(x)                  # Recur for sublists

return tot

L = [1,[2,[3,4],5],6,[7,8]] # Arbitrary nesting

print(sumtree(L)) # Prints 36

Pathological cases

print(sumtree([1,[2,[3,[4,[5]]]]])) # Prints 15 (right-heavy)

print(sumtree([[[[[1],2],3],4],5])) # Prints 15 (left-heavy)

盡管出于簡單性和高效率的目的,對于線性迭代通常應該使用循環語句而不是遞歸,但我們會發現像上面示例一樣的必須使用遞歸的情況還是很多的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程
    +關注

    關注

    88

    文章

    3689

    瀏覽量

    95305
  • 遞歸
    +關注

    關注

    0

    文章

    29

    瀏覽量

    9191
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

    86866
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    stlinkv3minicubeprog檢測不到是什么情況

    我剛入手的stlinkv3mini連接電腦后可以被電腦端口識別到,驅動也已經安裝好。但是cubeprog檢測不到是什么情況
    發表于 05-27 06:40

    labview遞歸使用你嘗試過嗎?

    關于遞歸,或許labview很少聽過或者使用,不過了解下,算是一種娛樂吧,labview是確實支持遞歸的關于遞歸一個可以調用自己的VI就
    發表于 01-05 15:07

    快速掌握Python遞歸函數與匿名函數調用

    函數是Python技術學習重要的一個環節,深入掌握該階段的知識內容,對于Python技術能力的提升非常有幫助,這里就針對遞歸函數與匿名函數兩種函數調用進行系統的介紹分析。  一.
    發表于 07-19 16:22

    請問ucos運行態和就緒態是什么情況下轉化的?

    請問一下各位大神ucos 運行態 和 就緒態是什么情況下轉化的?????就是原子STM32開發指南中的狀態 轉換圖 中有運行態轉換到就緒態不知道是
    發表于 08-13 04:35

    什么情況選用PCI板卡,什么情況選用PXI?

    搭測控系統時,什么情況選用PCI板卡,什么情況選用PXI?
    發表于 03-31 20:59

    LabVIEW中使用遞歸算法

    factorial VI,1!和0!(特殊情況)被定義為結果是1。可重入VI需要強調的一點是,一個遞歸VI必須在內存復制它的很多備份,這
    發表于 04-17 20:11

    CMOS集成電路,小信號大信號分別指的是什么情況

    CMOS集成電路,小信號大信號分別指的是什么情況
    發表于 04-25 09:24

    數據在內存的存儲右對齊是什么情況下使用?

    數據在內存的存儲右對齊是什么情況下使用
    發表于 10-15 11:20

    什么情況下要進行電能質量檢測?

    什么情況下要進行電能質量檢測?
    發表于 09-08 14:20 ?834次閱讀

    什么情況下選用工業主板

    雖然工業主板和普通主板差異比較多,但是某些情況下工業主板用于商業環境也是可以的,但是實用性不是很好。什么情況下選用工業主板呢?
    的頭像 發表于 02-14 10:34 ?1103次閱讀
    <b class='flag-5'>什么情況</b>下選用工業主板

    Python支持遞歸函數

    Python支持遞歸函數——即直接或間接地調用自身以進行循環的函數。遞歸是頗為高級的話題,并且它在Python相對少見。然而,它是一項應該
    的頭像 發表于 02-21 14:28 ?834次閱讀

    什么是Python遞歸函數

    遞歸函數必須有終止條件。編程,函數的調用要占用名叫棧(stack)的內存空間。調用函數時,程序會將相關的數據存儲到計算機的棧里。
    的頭像 發表于 02-23 10:25 ?2181次閱讀

    IGBT模塊損壞時,什么情況導致短路?什么情況導致開路?

    IGBT模塊損壞時,什么情況導致短路?什么情況導致開路?? IGBT模塊是一種功率模塊,用于高功率電子設備控制。當IGBT模塊使用過程遭受損壞時,可能會出現短路或開路的問題。這兩種
    的頭像 發表于 10-19 17:08 ?5811次閱讀

    Python 什么情況下才進行重試

    如何寫得優雅、易用,是我們要考慮的問題。 這里要給大家介紹的是一個第三方庫 - Tenacity (標題中的重試機制并并不準確,它不是 Python 的內置模塊,因此并不能稱之為機制),它實現了幾乎我們可以使用到的所有重試場景,比如:
    的頭像 發表于 10-21 11:18 ?548次閱讀

    Python遞歸的經典案例

    當我們碰到諸如需要求階乘或斐波那契數列的問題時,使用普通的循環往往比較麻煩,但如果我們使用遞歸時,會簡單許多,起到事半功倍的效果。這篇文章主要和大家分享一些和遞歸有關的經典案例,結合一些資料談一下個人的理解,也借此加深自己對遞歸
    的頭像 發表于 08-05 15:57 ?731次閱讀
    主站蜘蛛池模板: 亚洲 欧美 中文字幕 在线 | 国产中文字幕乱码免费 | 美女丝袜夹b | 久久人妻少妇嫩草AV无码 | 欧美午夜理伦三级在线观看 | 97色伦久久视频在观看 | 国产亚洲精品a在线观看app | 日韩中文欧美在线视频 | 99久久免费热在线精品 | 久久精品国产亚洲AV忘忧草蜜臀 | 美美哒高清在线播放8 | 国产三级影院 | 午夜福利试看120秒体验区 | 暖暖日本手机免费完整版在线观看 | 欧美另类老少配hd | 戳女人屁股流水羞羞漫画 | 美国色情三级欧美三级纸匠情挑 | 精品国产国产精2020久久日 | 国产午夜精品一区二区理论影院 | 2020国产成人精品视频人 | 亚洲国产成人精品无码区APP | 快穿做妓女好爽H | 高h喷水荡肉爽文总攻 | 色戒在线完整观看在线播放版 | 国产欧美日韩中文视频在线 | 青青草原伊人 | 在线视频久久只有精品第一日韩 | 亚洲国产成人精品无码区5566 | 人妻中文字幕无码久久AV爆 | 日本经典片免费看 | 啊叫大点声欠CAO的SAO贷 | 天美传媒在线完整免费观看网站 | 人人碰国产免费线观看 | 国产在线精彩视频 | 久久er99热精品一区二区 | 色屁屁影院 | 《乳色吐息》无删减版在线观看 | 拉菲娱乐主管高工资q39709 | 欧美日韩免费播放一区二区 | 再深点灬舒服灬太大了在线视频 | 午夜4k最新福利 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品