lambda:1
ps:冒號左邊時引數,右邊是返回值
因為沒有名字,而函式的呼叫就是通過函式名+()的
匿名函式單獨使用毫無意義,它是配合內建函式一起使用
匿名函式需要一次性使用
max:最大值 max(可迭代物件)
min:最小值 min(可迭代物件)
l1 = [1, 2, 3, 4, 5]
# 列印出l1列表中最大的值
print(max(l1))
# 列印出l1列表中最小的值
print(min(l1))
上邊匿名函式中說道能和內建函式一起使用,讓我們來看一下
dict1 =
print(max(dict1,key= lambda x:dict1[x]))
print(min(dict1,key= lambda x:dict1[x]))
sorted:排序,預設公升序(從小到大)l1 = [6, 1, 2, 3, 4, 5]
# 給l1從小到大排序
print(sorted(l1))
他還有個引數reverse:反轉(倒序)它的預設引數是false
reverse true 降序
# 給l1從大到小排序
print(sorted(l1,reverse=true))
結合dict1和匿名函式我們給dict1排一下序
dict1 =
# 按照dict1中的value從小到大排序,返回key
print(sorted(dict1,key= lambda x:dict1[x]))
# 按照dict1中的value從大到小排序,返回key
print(sorted(dict1,key= lambda x:dict1[x],reverse=true))
語法:
map(函式位址(func),可迭代物件)---->map物件
map會將可迭代物件中的每乙個值進行修改,然後對映乙個map物件中,可以再將map物件轉換成列表或元組
注意:生成器(迭代器)用一次就用完了,所以用完後就不能再取了
l1 = ['a','b','c','d']
# 如果列表裡有'a'在後面加'_1'如果不是就加'_2'
res = map(lambda x:x+'_1' if x == 'a' else x + '_2' ,l1)
print(list(res))
# 生成器(迭代器)用一次就用完了,所以用完後就不能再取了
print(tuple(res)) # 這時列印出來的就是空元組()
語法:
reduce(函式位址(func),可迭代物件,初始值(初始值預設為0))
每次從可迭代物件中獲取兩個值進行合併
from functools import reduce
# 計算1-100的和後再加1000
res = reduce(lambda x,y:x+y,range(1,101),1000)
print(res) # 列印結果6050
語法:
filter(函式位址(func),可迭代物件)
filter會將函式中返回結果為true的對應的引數值過濾出來
過濾出來的值會新增到filter物件中
list1 = ['a_1', 'b_2', 'c_2', 'd_2']
# 將字尾名為_1的元素過濾出來
res = filter(lambda x:x.endswith('_1'),list1)
print(res) # print(list(res)) # ['a_1']
內建函式和匿名函式
匿名函式和內建函式 匿名函式定義 為了解決那些功能很簡單的需求而設計的一句話函式 lambda 一行必須寫完 lxx lambda x,y x y print lxx 1,2 匿名函式真的可以匿名 練習 求最大的key值是 dic def func key return dir key print ...
內建函式和匿名函式
內建函式的內容 匿名函式 匿名函式 為了解決那些功能很簡單的需求而設計的一句話函式 這段 defcalc n return n n print calc 10 換成匿名函式 calc lambda n n n print calc 10 上面是對calc這個匿名函式的分析,下面給出了乙個關於匿名函式...
匿名函式,內建函式
lambda函式是一種快速定義單行的最小函式,可以用在任何需要函式的地方 一般函式定義 def fun x,y return x y匿名函式lambda定義 r lambda x,y x y print r 2,3 格式 lambda 引數列表 return 表示式 變數 lambda語句中,冒號前...