Python 內建函式補充匿名函式

2022-06-06 16:03:07 字數 1773 閱讀 2157

python3 匿名函式

定義乙個函式與變數的定義非常相似,對於有名函式,必須通過變數名訪問

def func(x,y,z=1):

return x+y+z

print(func(1,2,3))

匿名函式定義:使用 lambda 來建立匿名函式

匿名函式1. 沒有名字 2:函式體自帶return

匿名函式

def func(x,y,z=1):

return x+y+z

print(lambda x,y,z=1:x+y+z)

function at 0x0000000003469488>

匿名函式也是乙個函式物件,匿名函式賦值給乙個變數,再利用變數來呼叫該函式

f=lambda x,y,z=1:x+y+z

print(f)

print(f(1,2,3))

匿名函式的應用場景:應用於一次性的場景,臨時使用

2、匿名函式結合使用內建函式的用法

max,min,sorted,map,reduce,filter的用法

字典的運算:最小值,最大值,排序

salaries=

print(max(salaries)) # 預設比較key值大小

print(max(salaries.values())) # 比較values值

print(max(salaries,key=lambda name:salaries[name])) 取values,來比較

print(min(salaries,key=lambda name:salaries[name])) 取values,來比較

print(max(zip(salaries.values(),salaries.keys()))[1]) # 通過zip的方式實現

def get_value(name):

return salaries[name]

print(max(salaries,key=get_value))

names=['alex','wupeiqi','yuanhao','yanglei','egon']

res=map(lambda x:x if x == 'egon' else x+'二狗子',names)

print(res)

print(list(res))

names=['alex','wupeiqi','yuanhao','yanglei','egon']

def my_map(func,seq):

for item in seq:

yield func(item)

res1=my_map(lambda x:x+'_二狗',names)

print(next(res1))

print(next(res1))

functools中匯入reduce模組

from functools import reduce

print(reduce(lambda x,y:x+y,range(101),100))

print(reduce(lambda x,y:x+y,range(101)))

names=['alex_二狗','wupeiqi_二狗','yuanhao_二狗','yanglei_二狗','egon']

print(list(filter(lambda name:name.endswith('二狗'),names)))

Python 內建函式補充匿名函式

python3 匿名函式 定義乙個函式與變數的定義非常相似,對於有名函式,必須通過變數名訪問 def func x,y,z 1 return x y z print func 1,2,3 匿名函式定義 使用 lambda 來建立匿名函式 匿名函式1.沒有名字 2 函式體自帶return 匿名函式 d...

python內建函式 python的內建函式 方法

1 input 輸入內容時要將內容用引號引起來 input 請輸入密碼 input 請輸入登入名 name input 請輸入姓名 print hello,name 請輸入姓名 binla hello,binla 在列表後邊追加乙個元素 3 extend 在列表之後追加乙個列表 4 insert 位...

python 內建函式, 匿名函式

什麼是內建函式?就是python給你提供的.拿來直接 的函式,比如print.input等等.字串型別 的執 eval 執 字串型別的 並返回最終結果 當執行大量資料的時候會有問題 print eval 2 2 4 n 8 print eval 2 n 10 def func print 666 e...