1. 程式人生 > >python全棧脫產第12天

python全棧脫產第12天

map enumerate 應該 函數返回值 enume 存在 names for循環 使用

一、函數遞歸

  定義:函數的遞歸調用是函數嵌套調用的一種特殊形式,在調用一個函數的過程中又直接或是間接地調用該函數本身,稱之為函數的遞歸調用

  遞歸調用的兩個階段: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天