詳解python中的lambda與sorted函數(shù)
lambda表達式
python中形如:
lambda parameters: expression
稱為lambda表達式,用于創(chuàng)建匿名函數(shù),該表達式會產(chǎn)生一個函數(shù)對象。
該對象的行為類似于用以下方式定義的函數(shù):
def <lambda>(parameters): return expression
python中的lambda函數(shù)可以接受任意數(shù)量的參數(shù),但只能有一個表達式。也就是說,lambda表達式適用于表示內部僅包含1行表達式的函數(shù)。那么lambda表達式的優(yōu)勢就很明顯了:
- 使用
lambda表達式可以省去單行函數(shù)的定義過程,使代碼更加簡潔;- 適用于不需要多次復用的函數(shù)
例:
y = lambda x: x*x print(y(3)) > 9
fx = lambda x, y, z: x+y+z print(fx(3, 4, 5)) > 12
sorted()
python3.x中sorted函數(shù):
sorted(iterable, *, key=None, reverse=False)
sorted函數(shù)會根據(jù)iterable中的項返回一個新的已排序列表。
其中key與reverse是兩個可選參數(shù),它們都必須指定為關鍵字參數(shù);
key:指定帶有單個參數(shù)的函數(shù),用于從iterable的每個元素中提取用于比較的鍵,默認為None,即直接比較元素;
reverse:為一個布爾值,用來指定排序規(guī)則,默認為False(升序)。
python2的sorted函數(shù)中還有一個參數(shù)cmp,python3的sorted中已經(jīng)沒有這個參數(shù)了。
與list.sort()方法不同的是,sorted()是有返回值的,而list.sort()的返回值為None;并且list.sort()只能對list進行排序,而sorted()可以接收任何的iterable
例:
# list
foo = [5, 7, 2, 9, 1]
bzz = sorted(foo)
print(bzz)
# > [1, 2, 5, 7, 9]
print(sorted(foo))
# > [1, 2, 5, 7, 9]
print(sorted(foo, reverse = True))
# > [9, 7, 5, 2, 1]
print(sorted(foo, key = lambda x: x*-1))
# > [9, 7, 5, 2, 1]
# dict
bar = {'java': 14, 'c': 16, 'python': 9, 'cpp': 6, 'csharp': 4}
print(sorted(bar))
# > ['c', 'cpp', 'csharp', 'java', 'python']
print(sorted(bar.items(), key = lambda kv: kv[1], reverse = True))
# > [('c', 16), ('java', 14), ('python', 9), ('cpp', 6), ('csharp', 4)]
以上就是詳解python中的lambda與sorted函數(shù)的詳細內容,更多關于python lambda與sorted函數(shù)的資料請關注腳本之家其它相關文章!
相關文章
python腳本實現(xiàn)數(shù)據(jù)導出excel格式的簡單方法(推薦)
下面小編就為大家?guī)硪黄猵ython腳本實現(xiàn)數(shù)據(jù)導出Excel格式的簡單方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
C# DataGridView行列轉換的具體實現(xiàn)
本文主要介紹了C# DataGridView行列轉換的具體實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
Django實現(xiàn)WebSSH操作物理機或虛擬機的方法
這篇文章主要介紹了Django實現(xiàn)WebSSH操作物理機或虛擬機的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11
Python?echarts實現(xiàn)數(shù)據(jù)可視化實例詳解
這篇文章主要為大家詳細介紹了Python?echarts實現(xiàn)數(shù)據(jù)可視化,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03

