匿名函式和內建函式

2022-06-13 09:06:07 字數 2145 閱讀 2435

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語句中,冒號前...