Python 匿名函式及其應用

2021-10-04 11:07:26 字數 2027 閱讀 3238

func=函式的記憶體位址

deffunc

(x,y)

:return x+y

print

(func)

print

(lambda x,y:x+y)

res=

(lambda x,y:x+y)(1

,2)print

(res)

func=

lambda x,y:x+y

res=func(1,

2)print

(res)

匿名用於臨時呼叫一次的場景:更多的是將匿名與其他函式配合使用

需求:找出薪資最高的那個人

salaries =

# 迭代出的內容 比較的值

# 'siry' 3000

# 'tom' 7000

# 'lili' 10000

# 'jack' 2000

def

func

(k):

return salaries[k]

res=

max(salaries,key=func)

# 返回值=func('siry')

print

(res)

res =

max(salaries, key=

lambda k: salaries[k]

)print

(res)

res=

min(salaries,key=

lambda k:salaries[k]

)print

(res)

res=

sorted

(salaries,key=

lambda k:salaries[k]

,reverse=

true

)print

(res)

l=

['alex'

,'lxx'

,'wxx'

,'薛賢妻'

]new_l=

(name+

'_dsb'

for name in l)

print

(new_l)

res=

map(

lambda name:name+

'_dsb'

,l)print

(res)

# 生成器

l=

['alex_sb'

,'lxx_sb'

,'wxx'

]res=

(name for name in l if name.endswith(

'sb'))

print

(res)

res=

filter

(lambda name:name.endswith(

'sb'

),l)

print

(res)

from functools import

reduce

res=

reduce

(lambda x,y:x+y,[1

,2,3

],10)

# 16

print

(res)

res=

reduce

(lambda x,y:x+y,

['a'

,'b'

,'c'])

# 'a','b'

print

(res)

python 匿名函式及其應用

定義lambda函式 sum lambda arg1,arg2 arg1 arg2 呼叫函式 totle sum 3,5 print totle d totle 執行如下 totle 8lambda函式能接收任何數量的引數但只能返回乙個表示式的值 匿名函式不能直接呼叫print,因為lambda需要...

Python的匿名函式及其應用

簡化函式的書寫形式,適用於短小的函式 lambda 格式 lambda 引數1,引數2,返回值 def f x return x 1 lambda表示式 便於 的閱讀,精簡 功能與f x 函式等價 格式 lambda 引數1,引數2,返回值 x lambda x x 1print f 1 print...

python匿名函式

例如 a 100 b a 這樣100只會有乙份,a和b只是指向了同乙個位置,改變a的值b也會跟著改變 當我們用id 變數 檢視兩變數的位址是相同的 可變型別 列表,字典 不可變型別 除了可變型別剩下的都是不可變型別 不可變型別舉例 a world 可以輸出a 0 整個字串也可以修改,但是要修改a 0...