Python lambda表示式 匿名函式 詳解

2021-10-07 17:54:06 字數 1321 閱讀 8694

如果乙個函式有乙個返回值,並且只有一句**,可以使用lambda簡化

注意事項:

lambda 引數列表:表示式
# 1.函式

deffn1()

:return

100# 2.lambda

fn2 =

lambda

:100

print

(fn2)

# fn2函式的記憶體位址

print

(fn2())

# 100

fn1 =

lambda

:100

print

(fn1())

# 100

fn1 =

lambda a : a

print

(fn1(

"hello"))

# "hello"

fn1 =

lambda a,b,c=

100:a+b+c

print

(fn1(1,

2))# 103

fn1 =

lambda

*args:args

print

(fn1(1,

2,3)

)# (1,2,3)

fn1 =

lambda

**kwargs : kwargs

print

(fn1(name=

'tom'

,age=20)

)#

fn1 =

lambda a,b:a if a>b else b

print

(fn1(1,

2))# 2

列表的sort中的引數key就收乙個函式,這個函式用於從每個元素中提取乙個用於比較的關鍵字。預設值為none。

students =[,

,]# 按name值公升序排列

students.sort(key=

lambda x:x[

'name'])

# 按name值降序排列

students.sort(key=

lambda x:x[

'name'

],reverse=

true

)

Python lambda表示式學習

lambda只是乙個表示式,函式體比def簡單很多。lambda的主體是乙個表示式,而不是乙個 塊。僅僅能在lambda表示式中封裝有限的邏輯進去。lambda表示式是起到乙個函式速寫的作用。允許在 內嵌入乙個函式的定義。如下例子 定義了乙個lambda表示式,求三個數的和。再看乙個例子 用lamb...

原創 python lambda表示式

對於lambda先看一下 python filter函式 一文提到的函式 li boy 41 tim qq 1125891 filter fu,li 41 1125891 可以用lambd一句話表示 li boy 41 tim qq 1125891 filter lambda x x.isdigit...

python lambda表示式詳解

python lambda表示式詳解 1 lambda簡介 先來看一段 示例 第一行是lambda宣告,x,y相當於傳入的引數,整個函式會返回x y的值。lambda作為乙個表示式,定義了乙個匿名函式,上例的 x,y為入口引數,x y為函式體。在這裡lambda簡化了函式定義的書寫形式。python...