lambda 表達(dá)式
作用:簡(jiǎn)化代碼
格式 (形參可有可無(wú))
lambda 形參:表達(dá)式
def func(data)
print(data)
func2 = lambda data: print(data)
print((lambda a,b:a+b)(1,2)) # 3 直接調(diào)用lambda函數(shù)
與sort函數(shù)一起使用
list1 = [[3, '1'], [1, '3'], [2, '2']]
list1.sort(key = lambda i:i[1]) #按照列表內(nèi)的第二個(gè)數(shù)據(jù)進(jìn)行排序
print(list1) #[[3, '1'], [2, '2'], [1, '3']]
與map函數(shù)一起使用
map(func, list) #映射
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
newlist = map((lambda i:i*i), list1) #迭代器
print(list(newlist)) # [1,4,9,16,25,36,49,64,81,0] #強(qiáng)轉(zhuǎn)成列表進(jìn)行輸出
與reduce函數(shù)一起使用
reduce(func, list) #累積
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
result1 = reduce((lambda x,y:x+y),list1) #累加 ,求和
result2 = reduce((lambda x,y:x*y),list1) #累乘 ,階乘
與filter函數(shù)一起使用
filter(func, list) #過(guò)濾不符合表達(dá)式的數(shù)據(jù)
list1 = [1,2,3,4,5,6,7,8,9,0]
print(list(filter(lambda i: i % 2 == 0, list1))) #取出列表中的偶數(shù)