介紹:app
匿名函數: 匿名函數用lambda關鍵詞能建立小型匿名函數。這種函數得名於省略了用def聲明函數的標準步驟,節省開闢空間。函數
列表推導式:spa
有名函數code
#1.有名函數(初始) def square(x): return x**2 res=map(square,[1,2,3,4,5]) print(res) #<map object at 0x007193B0> 是一個生成器對象,a.__next__()取值 print(list(res)) #[1, 4, 9, 16, 25]
匿名函數對象
#2.匿名函數(匿名函數改進) # res=map(lambda x:x**2,[1,2,3,4,5]) # print(res) #<map object at 0x020936B0> # print(list(res)) #[1, 4, 9, 16, 25]
列表推導式blog
#3.實際工做中,建議使用——列表生成式改進 l=[] def square(x): l.append(x**2) for i in [1,2,3,4,5,6]: square(i) print(l) #[1, 4, 9, 16, 25, 36]
注意點:lamdba+列表推導式的坑io
#主意:lambda+列表推導式的坑 res=[lambda x:i**2 for i in range(3)] # res=[lambda x:i**2 for i in range(3)] print(res[0](0)) # 結果4,[<function <listcomp>.<lambda> at 0x08757540>, <function <listcomp>.<lambda> at 0x087574F8>, <function <listcomp>.<lambda> at 0x087575D0>, <function <listcomp>.<lambda> at 0x08757660>, <function <listcomp>.<lambda> at 0x087576A8>] # print(res[0](10)) #結果4,(10)至關因而爲lambda函數值傳參