不定義函式名的函式。
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...