1. sorted用來排序,預設的情況下,如果要排序的List為數字,是從小到大排列
ex: L=[5,-12,13,9,100,0]
print(sorted(L)) # [-12,0,5,9,100]
有時後會希望可以有一特殊的規則,例如利用絕對值來排序,這時候加上一個參數abs,
print(sorted(L),key=abs) #[0,5,9,-12,13,100]
如果想要反轉輸出的lst,那另外添加一個參數reverse
print(sorted(L),reverse=True) #[100,13,9,5,0,-12]
2. lambda是匿名函數,在傳統程式語言中(C/C++/Java),如果要使用一個函式,都需要寫出一段程式,如果這段函式有呼叫兩次以上,的確有寫出來的必要,但有時候,他只需要被呼叫一次時,那這段其實佔空間了,但你又不得不寫,
以C為例,求sum的:
int sum(x,y)
{
int retVal;
for( i=x;i<y;i++)
retVal=retVal+i;
return retVal;
}
所以這段code就會佔住空間,然後,只被呼叫一次
為了這情況,python使用了一個關鍵字lambda的匿名函式
ex :
lambda x: x*x
這相當於
def squ(x):
return x*x
從這兩個例子來看,其實可以明顯的發現lambda的語法,前面的x相當於def 中的squ,暫代為函式名稱,後面的x*x就是函式squ中的x*x的運算內容,說起來是這樣,簡短了寫出函式的過程,但重點是,寫法短,就是這樣,你不用另外開空間寫。
沒有留言:
張貼留言