遞歸調用是函數嵌套調用的一種特殊形式,
函數在調用時,直接或間接調用了自身,就是遞歸調用算法
回溯函數
就是從外向裏一層一層遞歸調用下去, 回溯階段必需要有一個明確結束的條件,
每進入下一次遞歸時,問題的規模必須不斷減少 否則這種遞歸將毫無心義編碼
遞推spa
就是從裏向外一層一層結束遞歸設計
畫個過程圖 理解一下 返回值的狀態變化3d
後邊寫執行條件,前邊寫執行方式對象
後邊寫執行條件,前編寫執行方式blog
函數名 = lambda 參數 :返回值排序
#參數能夠有多個,用逗號隔開 #匿名函數無論邏輯多複雜,只能寫一行,且邏輯執行結束後的內容就是返回值 #返回值和正常的函數同樣能夠是任意數據類型遞歸
1.使代碼精簡 2.不用起函數名 3.簡化代碼可讀性(普通函數都要從def讀起)
括號內,傳入兩個或多個參數,返回極值
函數用於將可迭代的對象做爲參數,
基於for循環 將對象中對應的元素打包成一個個元組, 而後返回由這些元組組成的列表。
注意
若是各個迭代器的元素個數不一致, 則返回列表長度與最短的對象相同,
利用 * 號操做符,能夠將元組解壓爲列表。
map() 會根據提供的函數對指定序列作映射
函數用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
執行原理
接收兩個參數,第一個爲函數,第二個爲序列, 序列的每一個元素做爲參數傳遞給函數進行判,
而後返回 True 或 False,最後將返回 True 的元素放到新列表中
sorted() 函數對全部可迭代的對象進行排序操做
sort 與 sorted 區別
sort 是應用在 list 上的方法,sorted 能夠對全部可迭代的對象進行排序操做。
list 的 sort 方法返回的是對已經存在的列表進行操做,無返回值,
而內建函數 sorted 方法返回的是一個新的 list,而不是在原來的基礎上進行的操做。
reduce() 函數會對參數序列中元素進行累積
數將一個數據集合(鏈表,元組等)中的全部數據進行下列操做:
用傳給 reduce 中的函數 function(有兩個參數) 先對集合中的第 一、2 個元素進行操做,
獲得的結果再與第三個數據用 function 函數運算, 最後獲得一個結果。