Python 匿名函式

2021-09-10 19:17:03 字數 1364 閱讀 9671

不定義函式名的函式。

lambda 表示式:

lambda parameter_list: expression1例:

def add(x, y):

return x + y

add(1, 2)

# 等同於:

f = lambda x,y: x+y

f(1, 2)12

3456

78三元表示式:

條件為真時返回的結果 if 條件判斷 else 條件為假時的返回結果1例:

x = 2

y = 1

r = x if x > y else y

print(r)    # 返回:212

34map 類:

把乙個集合裡的元素對映到新的集合裡。

list_x = [1,2,3]

def square(x):

return x * x

r = map(square, list_x)

# 等同於:

#for x in list_x:

#   square(x)

print(list(r))    # 返回:[1,4,9]12

3456

78910

11list_x = [1,2,3]

r = map(lambda x: x*x, list_x)

print(list(r))    # 返回:[1,4,9]12

3list_x = [1,2,3,4,5]

list_y = [1,2,3]

r = map(lambda x,y: x*x+y, list_x, list_y)

print(list(r))    # 返回:[2,6,12]12

34reduce 函式:

連續計算,連續呼叫 lambda,每一次的計算結果作為下一次計算的引數。

from functools import reduce

list_x = [1,2,3,4]

r = reduce(lambda x,y: x+y, list_x)

print(r)    # 返回:10

# ((1+2)+3)+4

r = reduce(lambda x,y: x+y, list_x, 10)  # 10為初始值

print(r)    # 返回:20

# (((10+1)+2)+3)+412

3456

78910

filter 類:

過濾器list_x = [1,0,1,0,0,1]

filter(lambda x: true if x==1 else false, list_x)

print(list(r))    # 返回:[1,1,1]

python匿名函式

例如 a 100 b a 這樣100只會有乙份,a和b只是指向了同乙個位置,改變a的值b也會跟著改變 當我們用id 變數 檢視兩變數的位址是相同的 可變型別 列表,字典 不可變型別 除了可變型別剩下的都是不可變型別 不可變型別舉例 a world 可以輸出a 0 整個字串也可以修改,但是要修改a 0...

python 匿名函式

在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x x2時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 map lambda x x x,1,2,3,4,5,6,7,8,9 1,4,9,16,25,36,49,64,81 通過對比可以看出,匿名函式lambda ...

python 匿名函式

1.匿名函式定義規則 lambda 形參 返回值 def fun args,kwargs return args,kwargs print lambda args,kwargs args,kwargs def add x,y return x y from functools import redu...