Python的lambda
阿新 • • 發佈:2017-12-30
普通 序列 sharp ret a + b div .com info func
if else 可以用簡單的三元運算符表示
if 1 == 1: name = ‘wupeiqi‘ else: name = ‘alex‘
--》
name = ‘wupeiqi‘ if 1 == 1 else ‘alex‘
對於函數也可以lambda來簡化表達
# ###################### 普通函數 ###################### # 定義函數(普通方式) def func(arg): return arg + 1 # 執行函數 result = func(123) # ###################### lambda ###################### # 定義函數(lambda表達式) my_lambda = lambda arg : arg + 1 # 執行函數 result = my_lambda(123)
內置函數
1,map
遍歷序列,對序列中每個元素進行操作,最終獲取新的序列。
li = [11, 22, 33] new_list1 = map(lambda a: a + 100, li) print new_list1
[111, 122, 133]
li = [11, 22, 33] sl = [1, 2, 3] new_list = map(lambda a, b: 2*a + b, li, sl) print new_list
[23, 46, 69]
2,filter
對於序列中的元素進行篩選,最終獲取符合條件的序列
li = [11, 22, 33] new_list2 = filter(lambda arg: arg >= 22, li) print new_list2
[22, 33]
3,reduce
對於序列內所有元素進行累計操作
li = [11, 22, 33] sl = [1, 2, 3] result = reduce(lambda arg1, arg2: arg1 + arg2, li) print result
# reduce的第一個參數,函數必須要有兩個參數 # reduce的第二個參數,要循環的序列 # reduce的第三個參數,初始值
66
Python的lambda