標籤:複雜 reverse 直接 結構 判斷 通過 必須 效率 sort
lambda
匿名函數: 為瞭解決一些簡單的需求而設計的一句話函數
lambda函數不需要def來聲明,一句話就可以聲明出一個函數
文法:
函數名 = lambda 參數: 傳回值
需要注意的是:
1. 函數的參數可以有多個,多個參數之間用逗號隔開
2. 匿名函數不管多複雜,只能寫一行,切邏輯結束後直接返回資料
2.傳回值和正常的函數一樣,可以是任意資料類型
匿名函數並不是說一定沒有名字,這裡前面的變數就是一個函數名,說他是匿名 原因是我們通過__name__查看的時候是沒有名字的,統一叫lambda,在調用的是時候沒有什麼特別之處, 像正常的函數調用即可.
sorted()
排序函數
文法: sorted(iterable, key = None, reverse = False)
iterable: 可迭代對象
key:定序(排序函數) ,在sorted內部會將可迭代對象中的每一個元素傳遞給這個函數的參數.根據函數運算的結果進行排序
reverse : 是否是倒敘.True:倒敘, False: 正序
和函數的組合使用
和lambda組合使用
filter()
篩選函數:
文法: filter(function. iterable)
function: 用來篩選的函數, 在filter中會自動的吧iterable中的元素傳遞給function,然後根據function返回True或者False 來判斷是否保留此項資料
iterable: 可迭代對象
map()
映射函數:
文法: map(function,iterable)可以對可迭代對象中的每一個元素進行映射,分別取執行function
計算資料行表中每個元素的平方,返回新列表
改寫成lambda
計算兩個列表中相同位置的資料的和
遞迴:
在函數中調用函數本身,就是遞迴
python機制:遞迴的最大深度是998
遞迴的應用:
我們可以使用遞迴來遍曆各種樹形結構,比我我們的檔案夾系統,可以使用遞迴來遍曆改檔案夾中的所有檔案
二分尋找
二分尋找.每次能夠排除掉一半的資料,尋找的效率非常高,但是局限性比較大,必須是有序序列才可可以使用二分尋找
要求: 必須是有序序列
python匿名函數和遞迴