匿名函式和遞迴

2022-05-03 01:06:06 字數 1561 閱讀 7504

lambda

匿名函式: 為了解決一些簡單的需求而設計的一句話函式

lambda函式不需要def來宣告,一句話就可以宣告出乙個函式

語法:函式名 = lambda 引數: 返回值

需要注意的是:

1. 函式的引數可以有多個,多個引數之間用逗號隔開

2. 匿名函式不管多複雜,只能寫一行,切邏輯結束後直接返回資料

2.返回值和正常的函式一樣,可以是任意資料型別

匿名函式並不是說一定沒有名字,這裡前面的變數就是乙個函式名,說他是匿名   原因是我們通過__name__檢視的時候是沒有名字的,統一叫lambda,在呼叫的是時候沒有什麼特別之處, 像正常的函式呼叫即可.

sorted()

排序函式

語法: sorted(iterable, key = none, reverse = false)

iterable: 可迭代物件

key:排序規則(排序函式) ,在sorted內部會將可迭代物件中的每乙個元素傳遞給這個函式的引數.根據函式運算的結果進行排序

reverse : 是否是倒敘.true:倒敘, false: 正序

和函式的組合使用

和lambda組合使用

篩選函式:

語法: filter(function. iterable)

function:用來篩選的函式, 在filter中會自動的吧iterable中的元素傳遞給function,然後根據function返回true或者false 來判斷是否保留此項資料

iterable:可迭代物件

對映函式:

語法: map(function,iterable)可以對可迭代物件中的每乙個元素進行對映,分別取執行function

計算列表中每個元素的平方,返回新列表

改寫成lambda

計算兩個列表中相同位置的資料的和

遞迴:在函式中呼叫函式本身,就是遞迴

python機制:遞迴的最大深度是998

遞迴的應用:

我們可以使用遞迴來遍歷各種樹形結構,比我我們的資料夾系統,可以使用遞迴來遍歷改資料夾中的所有檔案

二分查詢

二分查詢.每次能夠排除掉一半的資料,查詢的效率非常高,但是侷限性比較大,必須是有序序列才可可以使用二分查詢

要求: 必須是有序序列

python匿名函式和遞迴

命名空間 內建命名空間 python直譯器一啟動就可以使用的名字儲存在內建命名空間 在啟動器啟動時被載入進記憶體裡 全域性命名空間 程式從上到下被執行的過程中一次載入進記憶體 放置了我們所有設定的變數名和函式名 區域性命名空間 函式內部定義的名字 當函式呼叫時,才會產生這個命名空間,隨著函式執行的結...

python遞迴函式和匿名函式

乙個函式的內部可以呼叫其他函式。但是,如果乙個函式在內部不呼叫其他函式,而是自己本身的話,這個函式就是遞迴函式。例 def fn num if num 1 result 1else result fn num 1 num return result n int input 請輸入乙個正整數 prin...

python匿名函式和遞迴函式

匿名函式格式 lambda 引數 運算 例子 hello lambda a,b a b 匿名函式一半結合內建函式使用 max list,func func匿名函式比如 列表裡面元素是字典 就是可以 list,lambda x x 鍵 min 和max幾乎一樣 map func iterables 對...