python基礎 匿名函式

2021-08-20 18:09:13 字數 1227 閱讀 1212

lambda匿名函式可以實現簡單的功能:

sum=lambda x,y:x+y

print(sum(4,2)) #結果為6

def values(a,b,fun):

print(fun(a,b))

values(11,22,lambda x,y:x+y) #結果為33

大資料要用到的三個重要函式:

filter函式: filter()主要用來篩選。輸出filter的時候前邊需要加上星號。

list1=[1,2,3,4,5,6,7,8,9,10]

print(*filter(lambda x:x<6,list1)) #輸出結果 1 2 3 4 5

list2=filter(lambda x:x%2,list1)

for i in list2:

print(i) #輸出結果 1 3 5 7 9

def is_not_empty(s):

return s and len(s.strip()) > 0 #結果為test str end

print(*filter(is_not_empty, ['test', none, '', 'str', ' ', 'end'])) #去除列表中的空格和空字元

map函式:map()傳入兩個引數,乙個是函式乙個是序列。map將函式作用到序列的每個元素並返回新的list列表。

list1=[3,4,5,6,7,8,9,10]

list2=map(lambda x:x+10,list1)

for i in list2:

print(i,end=" ") #結果為13 14 15 16 17 18 19 20

reduce函式:reduce()是對列表,元組中的資料進行累計的函式

from functools import reduce

#需要先導入reduce模組

list1=[1,2,3,4,5,6,7,8,9,10]

print(reduce(lambda x,y:x+y,list1)) #結果為55

Python基礎 匿名函式

當我們在傳入函式時,有些時候,不需要顯式地定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x 的函式外,還可以直接傳入匿名函式 print list map lambda x x x,1,2,3,4,5,6,7,8,9 輸出 1,4,9,...

python基礎 匿名函式

匿名函式的關鍵字為 lambda 冒號前面是形參 冒號後面是返回值 def fun args,kwargs return args,kwargs print fun 1,2,3,4,5 上面三行可以用下面以行代替 print lambda args,kwargs args,kwargs def ad...

python基礎 匿名函式

def 函式名 形參 pass def add x,y x yresult1 add 11,12 print result1的值為 s result1 print 50 匿名函式 執行乙個簡單的表示式 形式 變數 lambda 引數 表示式 匿名函式預設自帶 return func lambda x...