python lambda功能介紹

2021-10-06 10:32:29 字數 1401 閱讀 8268

lambda可以簡化函式的定義形式,簡化**,其基本形式如下:

lambda 引數列表 : 返回值

lambda 引數形式:

1.無引數:lambda:100

2.乙個引數:lambda a: a

3.預設引數:lambda a, b, c=100: a + b + c

4.可變引數:*args,返回元組

lambda *args: args

5.可變引數:*kwargs,返回字典

lambda **kwargs: kwargs

測試**:

1)fn1 = lambda a,b: a + b

print(fn1(1, 2))

結果:3

2)fn2 = lambda *args: args

print(fn2(1, 2, 3))

#結果:(1, 2, 3)

print(fn2(1, 3))

#結果:(1, 3)

print(fn2(1)) 

#結果:(1,)

3)fn3 = lambda **kwargs: kwargs

print(fn3(name='py', age=30))

#結果:

4)fn4 = lambda a, b: a if a > b else b

print(fn4(100, 200))

#結果:200

student = [,,]

student.sort(key=lambda x: x['name'])

print(student)

#結果:

#[, , ]

student.sort(key=lambda x: x['name'], reverse=true)

print(student)

#[, , ]

student.sort(key=lambda x: x['id'])

print(student)

#[, , ]

python中,也有幾個定義好的全域性函式方便使用:filter、 map、 reduce:

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]

>>>print(list(filter(lambda x: x % 3 == 0, foo)))

[18, 9, 24, 12, 27]

>>> print(list(map(lambda x: x * 2 + 10, foo)))

[14, 46, 28, 54, 44, 58, 26, 34, 64]

>>> from functools import reduce

>>> print(reduce(lambda x, y: x + y, foo))#求和

139

微軟Expression Blend功能介紹

microsoft expression blend 乙個全新的,全功能的職業設計工具,用於創造基於microsoft windows平台的豐富 複雜的應用介面。使用 expression blend,可以提供更出色的應用軟體並提公升客戶的體驗和滿意度。expression blend 包括了與mi...

VARCHART XGantt教程之功能介紹

甘特圖允許顯示和計畫任務的時間順序以及資源的能力。由於他們的圖形視覺化,相互關係和變化一目了然。除了在專案管理中,建立了甘特圖最重要的是製造控制面板和資源系統管理和處置。varchart xgantt是乙個簡單易用的互動式圖形元件在短時間內整合到您自己的應用程式中,因為沒有耗時的圖形程式設計。由於種...

python lambda函式基礎

本文,我們學習python lambda函式。首先,看一下python lambda函式的語法,如下 f lambda parameter1,parameter2,expression lambda語句中,冒號前是引數,可以有0個或多個,用逗號隔開,冒號右邊是返回值。lambda語句構建的其實是乙個...