python的內置函數(續)及匿名函數
阿新 • • 發佈:2018-04-04
fun filter 叠代器 指定 調用 color 計算 函數應用 真的
一:內置函數(續)
1,zip (拉鏈方法)
函數用於將可叠代的對象作為參數,將對象中對應的元素打包成一個個元組,然後返回這些元組。如果各個叠代器的元素個數不一致,則返回的元組個數與最短的對象相同
l1 = [1,2,3,] l2 = [‘a‘,‘b‘,‘c‘,5] l3 = (‘*‘,‘**‘,(1,2,3)) for i in zip(l1,l2,l3): print(i) # (1, ‘a‘, ‘*‘) # (2, ‘b‘, ‘**‘) # (3, ‘c‘, (1, 2, 3))
2,filter (過濾),通過你的函數,過濾一個可叠代對象
def func(x):return x % 2 == 0 ret = filter(func,[1,2,3,4,5,6,7]) print(ret) for i in ret: print(i)
3,map 會根據提供的函數對指定序列做映射
def square(x): # 計算平方數 return x ** 2 ret=map(square, [1, 2, 3, 4, 5]) # 計算列表各個元素的平方 print(ret) for i in ret: print(i)
二:匿名函數
定義匿名函數的關鍵字為lambda,其格式為:函數名 = lambda 參數 :返回值,它是為了解決那些功能很簡單的需求而設計的一句話函數。
#這段代碼 def func(n): return n**n print(func(10)) #換成匿名函數 func = lambda n:n**n print(func(10))
ps:
1,參數可以有多個,用逗號隔開;
2,匿名函數不管邏輯多復雜,只能寫一行,且邏輯執行結束後的內容就是返回值;
3,返回值和正常的函數一樣可以是任意數據類型;
4,可以看出,匿名函數並不是真的不能有名字,匿名函數的調用和正常函數的調用一樣。
三:匿名函數和內置函數應用舉例
dic={‘k1‘:10,‘k2‘:100,‘k3‘:30} print(dic[max(dic,key=lambda k:dic[k])]) res= map(lambda x:x**2,[1,5,7,4,8]) for i in res: print(i) res = filter(lambda x:x>10,[5,8,11,9,15]) for i in res: print(i)
python的內置函數(續)及匿名函數