python day14內建函式二(lambda,sorted,filter,map,遞迴)
阿新 • • 發佈:2018-11-05
一.lambda匿名函式
為了解決一些簡答的需求而設計的一句話函式.
計算n的n次方
1 def func(n): 2 return n**n 3 print(func(10))
lambda
1 f=lambda n:n**n
2 print(f(10))
lambda表示的是匿名函式,不需要用def來宣告,一句話就可以宣告出一個函式.
語法:
函式名=lambda 引數:返回值
注意:
1.函式的引數可以有多個.多個引數之間用逗號隔開.
2.匿名函式不管有多複雜.只能寫一行,且邏輯結束後直接返回資料.
3.返回值和正常的函式一樣,可以是任意資料型別.
匿名函式並不是說一定沒有名字.這裡前面的變數就是一個函式名.說他是匿名原因是我們通過__name__檢視的時候是沒有名字的.統一都叫lambda.在呼叫的時候沒用什麼特別之處.像正常的函式呼叫即可.
二.sorted()
排序函式.
語法: sorted(Iterable,key=None,reverse=Flase)
Iterable:可迭代物件
key:排序規則(排序函式),在sorted內部會將可迭代物件中的每一個元素傳遞給這個函式的引數.根據函式運算的結果進行排序.
reverse:是否是倒敘. True:倒敘, False:正序
lst=[1,5,3,4,6]
lst2=sorted(lst)
print(lst) #原列表不會改變 [1, 5, 3, 4, 6]
print(lst2)#如果是字典,則返回排序後的key [1, 3, 4, 5, 6]