1. 程式人生 > >python的內置函數(續)及匿名函數

python的內置函數(續)及匿名函數

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的內置函數(續)及匿名函數