python全棧脫產第12天
一、函數遞歸
定義:函數的遞歸調用是函數嵌套調用的一種特殊形式,在調用一個函數的過程中又直接或是間接地調用該函數本身,稱之為函數的遞歸調用
遞歸調用的兩個階段:1.回溯:一次次遞歸下去,需要註意每一次重復問題的規模都應該有所減少,直到逼近一個最終的結果,即需要一個結束的條件
2.遞推:往回一層一層推算出結果
算法:高效地解決某一個問題的方法/套路
二分法:在一個從大到小或是從小到大排列的一個列表中找一個數,每次都與列表的中間的那個值作比較,然後截取可能存在需要尋找值的一邊列表繼續尋找,直到找到。
二、三元表達式
在條件成立的情況下返回一個值,不成立的情況下返回另一個值,if......else......
三、列表生成式
用途:列表添加減少值
names=[‘alex‘,‘lqz‘,‘yyh‘,‘fm‘]
l=[]
for name in names:
res=name+‘DSB‘
l.append(res) #l=[name+‘DSB‘ for name in names]
四、字典生成式
用途:用於兩個列表組合成一個字典,其中一個列表變為key值,一個變為value
keys=[‘name‘,‘sex‘,‘age‘]
values=[‘egon‘,‘male‘,‘18‘]
dic={}
for i,k in enumerate(keys):
dic[k]=values[i] #dic={k:values for i,k in enumerate(keys)}
五、匿名函數
定義:就是沒有名字的函數
用途:用於僅僅一次使用的場景,沒有重復使用過的必要
精髓:沒有名字,綁定名字是沒有意義的
用法:與內置函數一起使用,在語句前面加lambda
max、min、sum:都是用for循環來實現,返回一個結果當做依據
方法:sorted:排序,從小打到排序,末尾加上reverse=True
map:把一個列表按照我們自定義的映射規則映射成個新的列表
filter:從一個列表中過濾出符合我們過濾規則的值
原理:相當於for循環取出沒一個人名,然後傳值給匿名函數,將調用匿名函數返回值為True的那個值留下來
reduce:把多個值合並成一個值
python全棧脫產第12天