国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

淺談 python 中的 sorted()與sort()

lansheng228 / 546人閱讀

摘要:返回值是一個(gè)經(jīng)過(guò)排序的可迭代類型,與一樣。注一般來(lái)說(shuō),和可以使用表達(dá)式。與的不同在于,是在原位重新排列列表,而是產(chǎn)生一個(gè)新的列表。

我們需要對(duì)List進(jìn)行排序,Python提供了兩個(gè)方法
對(duì)給定的List L進(jìn)行排序,
方法1.用List的成員函數(shù)sort進(jìn)行排序
方法2.用built-in函數(shù)sorted進(jìn)行排序(從2.4開始)

--------------------------------sorted---------------------------------------
>>> help(sorted)
Help on built-in function sorted in module __builtin__:

sorted(...)
    sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
---------------------------------sort----------------------------------------
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
    cmp(x, y) -> -1, 0, 1
-----------------------------------------------------------------------------
  

iterable:是可迭代類型;
cmp:用于比較的函數(shù),比較什么由key決定,有默認(rèn)值,迭代集合中的一項(xiàng);
key:用列表元素的某個(gè)屬性和函數(shù)進(jìn)行作為關(guān)鍵字,有默認(rèn)值,迭代集合中的一項(xiàng);
reverse:排序規(guī)則. reverse = True 或者 reverse = False,有默認(rèn)值。
返回值:是一個(gè)經(jīng)過(guò)排序的可迭代類型,與iterable一樣。

注;一般來(lái)說(shuō),cmp和key可以使用lambda表達(dá)式。

sort()與sorted()的不同在于,sort是在原位重新排列列表,而sorted()是產(chǎn)生一個(gè)新的列表。

Sorting basic:

>>> print sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]
>>> L = [5, 2, 3, 1, 4]
>>> L.sort()
>>> print L
[1, 2, 3, 4, 5]

Sorting cmp:

>>>L = [("b",2),("a",1),("c",3),("d",4)]
>>>print sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))
[("a", 1), ("b", 2), ("c", 3), ("d", 4)]

Sorting keys:

>>>L = [("b",2),("a",1),("c",3),("d",4)]
>>>print sorted(L, key=lambda x:(x[1]))
[("a", 1), ("b", 2), ("c", 3), ("d", 4)]

Sorting reverse:

>>> print sorted([5, 2, 3, 1, 4], reverse=True)
[5, 4, 3, 2, 1]
>>> print sorted([5, 2, 3, 1, 4], reverse=False)
[1, 2, 3, 4, 5]

注:效率key>cmp(key比cmp快)

在Sorting Keys中:我們看到,此時(shí)排序過(guò)的L是僅僅按照第二個(gè)關(guān)鍵字來(lái)排的,如果我們想用第二個(gè)關(guān)鍵字
排過(guò)序后再用第一個(gè)關(guān)鍵字進(jìn)行排序呢?

>>> L = [("d",2),("a",4),("b",3),("c",2)]
>>> print sorted(L, key=lambda x:(x[1],x[0]))
>>>[("c", 2), ("d", 2), ("b", 3), ("a", 4)]

以上環(huán)境python2.4

Via

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/37415.html

相關(guān)文章

  • sort 中 key 的用法淺談 python

    摘要:但是實(shí)際寫程序中,我們經(jīng)常會(huì)寫出許多繁雜的丑陋的代碼。特別推薦,許多代碼讓我獲益匪淺,比如這里對(duì)的使用。用可以寫出很簡(jiǎn)單直觀的代碼,如下當(dāng)然,上面不考慮效率,這里有一個(gè)利用分治法思想的高效的方法。更多文章更多閱讀中參數(shù)的用法高級(jí)編程技巧 用 Python 時(shí)間也算不短了,但總感覺自己在用寫 C++ 代碼的思維寫 Python,沒有真正用到其作為腳本語(yǔ)言的優(yōu)勢(shì)。之前刷 LeetCode ...

    keke 評(píng)論0 收藏0
  • Python 進(jìn)階之路 (一) List 進(jìn)階方法匯總,新年快樂!

    摘要:嘗射于家圃,有賣油翁釋擔(dān)而立,睨之,久而不去。康肅問(wèn)曰汝亦知射乎吾射不亦精乎翁曰無(wú)他,但手熟爾。康肅忿然曰爾安敢輕吾射翁曰以我酌油知之。 開啟變身模式 大家好, 從這一期開始,我們會(huì)從小白變身為中等小白,在基礎(chǔ)起步階段有太多的東西我沒有講到,但是俗話說(shuō)的好,無(wú)他,但手熟爾,只要多多練習(xí),時(shí)間會(huì)是最好的證明,相信我們終有一天會(huì)成為高手,因此從這一系列開始,讓我們一起更上一層樓,還是和往常...

    garfileo 評(píng)論0 收藏0
  • Python dict sort排序 按照key,value

    摘要:我們知道的內(nèi)置數(shù)據(jù)類型是無(wú)序的,通過(guò)來(lái)獲取對(duì)應(yīng)的。可是有時(shí)我們需要對(duì)中的進(jìn)行排序輸出,可能根據(jù),也可能根據(jù)來(lái)排。最簡(jiǎn)單的方法,這個(gè)是按照值排序又一個(gè)按照值排序,貌似比上一個(gè)速度要快點(diǎn)還是按值排序,據(jù)說(shuō)更快。。。 我們知道Python的內(nèi)置dictionary數(shù)據(jù)類型是無(wú)序的,通過(guò)key來(lái)獲取對(duì)應(yīng)的value。可是有時(shí)我們需要對(duì)dictionary中 的item進(jìn)行排序輸出,可能根據(jù)ke...

    betacat 評(píng)論0 收藏0
  • Google Python Class --- Sorting

    摘要:它直接作用于列表,并且沒有返回值。排序時(shí),列表中的元素會(huì)通過(guò)函數(shù)進(jìn)行處理,并按照返回值進(jìn)行排序。會(huì)按照元素的長(zhǎng)度進(jìn)行升序排列按照元素的小寫進(jìn)行排序后面可以是自定義函數(shù)表達(dá)式按照返回值排序元組元組是固定尺寸的元素的集合。 showImg(https://segmentfault.com/img/bVB1Wh); 剛才看到一位朋友談到如何寫出高逼格的文章,想了想確實(shí)有道理。所以特意弄一張高...

    madthumb 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

lansheng228

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<