詳解python中的lambda與sorted函數(shù)
lambda表達(dá)式
python中形如:
lambda parameters: expression
稱為lambda
表達(dá)式,用于創(chuàng)建匿名函數(shù),該表達(dá)式會(huì)產(chǎn)生一個(gè)函數(shù)對(duì)象。
該對(duì)象的行為類似于用以下方式定義的函數(shù):
def <lambda>(parameters): return expression
python中的lambda
函數(shù)可以接受任意數(shù)量的參數(shù),但只能有一個(gè)表達(dá)式。也就是說,lambda
表達(dá)式適用于表示內(nèi)部?jī)H包含1行表達(dá)式的函數(shù)。那么lambda
表達(dá)式的優(yōu)勢(shì)就很明顯了:
- 使用
lambda
表達(dá)式可以省去單行函數(shù)的定義過程,使代碼更加簡(jiǎn)潔;- 適用于不需要多次復(fù)用的函數(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ù)會(huì)根據(jù)iterable
中的項(xiàng)返回一個(gè)新的已排序列表。
其中key
與reverse
是兩個(gè)可選參數(shù),它們都必須指定為關(guān)鍵字參數(shù);
key:指定帶有單個(gè)參數(shù)的函數(shù),用于從iterable的每個(gè)元素中提取用于比較的鍵,默認(rèn)為None
,即直接比較元素;
reverse:為一個(gè)布爾值,用來指定排序規(guī)則,默認(rèn)為False
(升序)。
python2的sorted函數(shù)中還有一個(gè)參數(shù)cmp,python3的sorted中已經(jīng)沒有這個(gè)參數(shù)了。
與list.sort()方法不同的是,sorted()是有返回值的,而list.sort()的返回值為None;并且list.sort()只能對(duì)list進(jìn)行排序,而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ù)的詳細(xì)內(nèi)容,更多關(guān)于python lambda與sorted函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用Python對(duì)文件進(jìn)行批量改名的方法
這篇文章主要介紹了使用Python對(duì)文件進(jìn)行批量改名的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03python腳本實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出excel格式的簡(jiǎn)單方法(推薦)
下面小編就為大家?guī)硪黄猵ython腳本實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出Excel格式的簡(jiǎn)單方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12C# DataGridView行列轉(zhuǎn)換的具體實(shí)現(xiàn)
本文主要介紹了C# DataGridView行列轉(zhuǎn)換的具體實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Django實(shí)現(xiàn)WebSSH操作物理機(jī)或虛擬機(jī)的方法
這篇文章主要介紹了Django實(shí)現(xiàn)WebSSH操作物理機(jī)或虛擬機(jī)的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Python?echarts實(shí)現(xiàn)數(shù)據(jù)可視化實(shí)例詳解
這篇文章主要為大家詳細(xì)介紹了Python?echarts實(shí)現(xiàn)數(shù)據(jù)可視化,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03Python 尋找局部最高點(diǎn)的實(shí)現(xiàn)
今天小編就為大家分享一篇Python 尋找局部最高點(diǎn)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12