1. 程式人生 > >python day14內建函式二(lambda,sorted,filter,map,遞迴)

python day14內建函式二(lambda,sorted,filter,map,遞迴)

一.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]