python lambda表達式簡單用法


習條件運算時,對於簡單的 if else 語句,可以使用三元運算來表示,即:

1
2
3
4
5
6
7
8
# 普通條件語句
if  1 == 1:
     name =  'wupeiqi'
else :
     name =  'alex'
  
# 三元運算
name =  'wupeiqi'  if  1 == 1  else  'alex'

對於簡單的函數,也存在一種簡便的表示方式,即:lambda表達式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# ###################### 普通函數 ######################
# 定義函數(普通方式)
def func(arg):
     return  arg + 1
  
# 執行函數
result = func(123)
  
# ###################### lambda ######################
  
# 定義函數(lambda表達式)
my_lambda = lambda arg : arg + 1
  
# 執行函數
result = my_lambda(123)

lambda存在意義就是對簡單函數的簡潔表示

內置函數 二

一、map

遍歷序列,對序列中每個元素進行操作,最終獲取新的序列。

li = [11, 22, 33]

new_list = map(lambda a: a + 100, li)
li = [11, 22, 33]
sl = [1, 2, 3]
new_list = map(lambda a, b: a + b, li, sl)

二、filter

對於序列中的元素進行篩選,最終獲取符合條件的序列

li = [11, 22, 33]

new_list = filter(lambda arg: arg > 22, li)

#filter第一個參數為空,將獲取原來序列

三、reduce

對於序列內所有元素進行累計操作

復制代碼
li = [11, 22, 33]

result = reduce(lambda arg1, arg2: arg1 + arg2, li)

# reduce的第一個參數,函數必須要有兩個參數
# reduce的第二個參數,要循環的序列
# reduce的第三個參數,初始值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM