Paradoxical想對列表裏的元素進行排序,可是不知道咋辦,因而就去詢問小哥哥。
app
我:小哥哥,我想對列表裏的元素進行排序,要怎麼辦呢?
ide
慘綠青年:調用list.sort()就好了。self是列表自己,這個不用填。key是用來做爲排序根據的函數,該函數會應用於列表中的全部元素,並按照返回的結果進行排序。reverse是按相反的順序來排序,默認爲False,即按正常的順序來排序。這個方法會直接修改列表。若是不想對原列表進行修改,想返回一個排序後的列表能夠用sorted(),參數是差很少的。函數
我:原來是醬紫,我懂了。可是有時候排序只須要使用一次,這樣的話寫一個函數代碼是否是有點麻煩鴨?
spa
慘綠青年:這時候就要使用到匿名函數了。
orm
我:啥是匿名函數鴨?
對象
慘綠青年:匿名函數就是用lambda關鍵字定義的函數,可是沒有名字。匿名函數的定義方式也和普通函數不同,代碼比較簡潔,因此多做爲參數去使用。下圖的x就是形式參數,x+1就是表達式,也就是函數體,該函數會返回x+1的計算結果。blog
慘綠青年:匿名參數要調用的話能夠賦值給一個變量,但這樣的話就沒用必要定義匿名函數。由於匿名參數多用於一次性的場景。例如對列表排序。
排序
慘綠青年:上圖對列表排序的匿名函數將傳入的元素用split()分開取出數字部分,而後把字符串轉爲數字,按照這個規則來排序。匿名函數還能應用於高階函數filter()、map()。filter()是過濾函數,用來過濾符合規則的元素。map()是對可迭代對象的每個參數使用函數。這兩個函數都會返回新的可迭代對象。圖片
我:學到了學到了~ci