python之lambda函數

lambda表達式,一般是在須要一個函數,可是又不想費神去定義一個函數的時候使用,也叫匿名函數。express

lambda所表示的內容應該是很簡單的,若是複雜的話就乾脆從新定義一個函數了。函數

lambda的建立語法:spa

lambda parameters:express(例如:lambda x:x>1)code

冒號後面的是函數體,也是函數的處理邏輯,冒號前面的返回值對象

parameters:可選,若是提供,一般是逗號分隔的變量表達式形式,即位置參數。blog

expression:不能包含分支或循環(但容許條件表達式),也不能包含return(或yield)函數。若是爲元組,則應用圓括號將其包含起來。io

lambda的使用舉例:class

add = lambda x,y:x-y
add(5,2)   #結果爲3
s = lambda x:"yes" if x==1 else "no"
s(0)   #結果爲no
s(1)   #結果爲yes
需求:將列表中的元素按照絕對值大小進行升序排列
list1 = [3,5,-4,-1,0,-2,-6]
sorted(list1, key=lambda x: abs(x))
#把後面的迭代對象根據前面的方法篩選
a = filter(lambda x:x>5,[12,3,12,2,1,2,35])
print(next(a))
print(next(a))
print(next(a))
#輸出
12 12 35
c = map(lambda x:x>5,[1,2,3,4,5,6])
print(next(c))
print(next(c))
print(next(c))
print(next(c))
print(next(c))
print(next(c))
#輸出
False
False
False
False
False
True
相關文章
相關標籤/搜索