最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?內(nèi)置函數(shù)sorted()的用法

 更新時間:2022年03月24日 11:22:14   作者:Brad1994  
這篇文章主要介紹了Python?內(nèi)置函數(shù)sorted()的用法,文章內(nèi)容介紹詳細(xì)具有一的參考價值,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助

對于Python內(nèi)置函數(shù)sorted(),先拿來跟list(列表)中的成員函數(shù)list.sort()進(jìn)行下對比。在本質(zhì)上,list的排序和內(nèi)建函數(shù)sorted的排序是差不多的,連參數(shù)都基本上是一樣的。
主要的區(qū)別在于,list.sort()是對已經(jīng)存在的列表進(jìn)行操作,進(jìn)而可以改變進(jìn)行操作的列表。而內(nèi)建函數(shù)sorted返回的是一個新的list,而不是在原來的基礎(chǔ)上進(jìn)行的操作.

再來,讓我們用Python自帶的幫助函數(shù)help()看看對于sorted()是怎么定義的:

?>>>help(sorted)
?
?Help on built-in function sorted in module builtins:
?sorted(iterable, key=None, reverse=False)
? ? ?Return a new list containing all items from the iterable in ascending order.
? ? ?
? ? ?A custom key function can be supplied to customise the sort order, and the
? ? ?reverse flag can be set to request the result in descending order.

要先說明的是, 本人用的Python版本為3.5, 所以會跟Python2的有變差。

由幫助可以看到,傳進(jìn)去一個可迭代的數(shù)據(jù),返回一個新的列表,注意,是新的列表!來看看看實(shí)例吧:

>>>g=[1,4,6,8,9,3,5]
>>>sorted(g)
Out[30]: [1, 3, 4, 5, 6, 8, 9]

>>>sorted((1,4,8,9,3,6))
Out[33]: [1, 3, 4, 6, 8, 9]

>>>sorted('gafrtp')
Out[35]: ['a', 'f', 'g', 'p', 'r', 't']

由以上可以看到,只要是可迭代對象數(shù)據(jù),都能夠進(jìn)行排序,生成一個排序后的列表。

如果想要排逆序呢?很簡單,只要將可選參數(shù)reverse設(shè)置為True即可:

?>>>sorted((1,4,8,9,3,6), reverse=True)
?Out[36]: [9, 8, 6, 4, 3, 1]

高級用法:

有時候,我們要處理的數(shù)據(jù)內(nèi)的元素不是一維的,而是二維的甚至是多維的,那要怎么進(jìn)行排序呢?這時候,sorted()函數(shù)內(nèi)的key參數(shù)就派上用場了!從幫助信息上可以了解到,key參數(shù)可傳入一個自定義函數(shù)。

那么,該如何使用呢?讓我們看看如下代碼:

>>>l=[('a', 1), ('b', 2), ('c', 6), ('d', 4), ('e', 3)]
>>>sorted(l, key=lambda x:x[0])
Out[39]: [('a', 1), ('b', 2), ('c', 6), ('d', 4), ('e', 3)]
>>>sorted(l, key=lambda x:x[0], reverse=True)
Out[40]: [('e', 3), ('d', 4), ('c', 6), ('b', 2), ('a', 1)]
>>>sorted(l, key=lambda x:x[1])
Out[41]: [('a', 1), ('b', 2), ('e', 3), ('d', 4), ('c', 6)]
>>>sorted(l, key=lambda x:x[1], reverse=True)
Out[42]: [('c', 6), ('d', 4), ('e', 3), ('b', 2), ('a', 1)]

這里,列表里面的每一個元素都為二維元組,key參數(shù)傳入了一個lambda函數(shù)表達(dá)式,其x就代表列表里的每一個元素,然后分別利用索引返回元素內(nèi)的第一個和第二個元素,這就代表了sorted()函數(shù)利用哪一個元素進(jìn)行排列。而reverse參數(shù)就如同上面講的一樣,起到逆排的作用。默認(rèn)情況下,reverse參數(shù)為False。

當(dāng)然,正如一開始講到的那樣,如果想要對列表直接進(jìn)行排序操作,可以用成員方法sort()來做:

>>>l.sort(key=lambda x : x[1])
>>>l
Out[45]: [('a', 1), ('b', 2), ('e', 3), ('d', 4), ('c', 6)]
>>>l.sort(key=lambda x : x[1], reverse=True)
>>>l
Out[47]: [('c', 6), ('d', 4), ('e', 3), ('b', 2), ('a', 1)]

對于三維及以上的數(shù)據(jù)排排序,上述方法同樣適用。

到此這篇關(guān)于Python 內(nèi)置函數(shù)sorted()的用法的文章就介紹到這了,更多相關(guān)Python 內(nèi)置函數(shù)sorted()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • django框架model orM使用字典作為參數(shù),保存數(shù)據(jù)的方法分析

    django框架model orM使用字典作為參數(shù),保存數(shù)據(jù)的方法分析

    這篇文章主要介紹了django框架model orM使用字典作為參數(shù),保存數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了字典參數(shù)結(jié)合django model實(shí)現(xiàn)保存數(shù)據(jù)相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • python 日志模塊logging的使用場景及示例

    python 日志模塊logging的使用場景及示例

    這篇文章主要介紹了python 日志模塊logging的使用場景及示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • 基于Python實(shí)現(xiàn)人臉識別相似度對比功能

    基于Python實(shí)現(xiàn)人臉識別相似度對比功能

    人臉識別技術(shù)是一種通過計(jì)算機(jī)對人臉圖像進(jìn)行分析和處理,從而實(shí)現(xiàn)自動識別和辨認(rèn)人臉的技術(shù),隨著計(jì)算機(jī)視覺和模式識別領(lǐng)域的快速發(fā)展,人臉識別技術(shù)取得了長足的進(jìn)步,本文給大家介紹了基于Python實(shí)現(xiàn)人臉識別相似度對比功能,感興趣的朋友可以參考下
    2024-01-01
  • python爬蟲之生活常識解答機(jī)器人

    python爬蟲之生活常識解答機(jī)器人

    這篇文章主要介紹了python爬蟲之生活常識解答機(jī)器人,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Django中models.model如何使用舉例詳解

    Django中models.model如何使用舉例詳解

    在現(xiàn)代Web開發(fā)中Django是一個非常流行的Web框架,它允許開發(fā)者快速構(gòu)建強(qiáng)大而優(yōu)雅的Web應(yīng)用程序,這篇文章主要介紹了Django中models.model如何使用的相關(guān)資料,需要的朋友可以參考下
    2025-04-04
  • Python3讀取和處理超大文件的操作詳解

    Python3讀取和處理超大文件的操作詳解

    在日常工作中,文件對象是我們常接觸到的可迭代類型之一,一般用?for?循環(huán)遍歷一個文件對象,可以逐行讀取它的內(nèi)容,但這種方式在碰到大文件時,可能會出現(xiàn)一些奇怪的效率問題,所以本文給大家介紹了Python3讀取和處理超大文件的操作,需要的朋友可以參考下
    2024-04-04
  • python 把列表轉(zhuǎn)化為字符串的方法

    python 把列表轉(zhuǎn)化為字符串的方法

    今天小編就為大家分享一篇python 把列表轉(zhuǎn)化為字符串的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python中使用Inotify監(jiān)控文件實(shí)例

    Python中使用Inotify監(jiān)控文件實(shí)例

    這篇文章主要介紹了Python中使用Inotify監(jiān)控文件實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-02-02
  • 使用python判斷你是青少年還是老年人

    使用python判斷你是青少年還是老年人

    今天來給大家講講python中最基本的 if 條件語句,這幾乎是所有編程語言中都存在的語句,只是語法結(jié)構(gòu)稍有不同。這篇文章給大家分享使用python判斷你是青少年還是老年人,感興趣的朋友一起看看吧
    2018-11-11
  • 用Python和WordCloud繪制詞云的實(shí)現(xiàn)方法(內(nèi)附讓字體清晰的秘笈)

    用Python和WordCloud繪制詞云的實(shí)現(xiàn)方法(內(nèi)附讓字體清晰的秘笈)

    這篇文章主要介紹了用Python和WordCloud繪制詞云的實(shí)現(xiàn)方法(內(nèi)附讓字體清晰的秘笈),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01

最新評論

儋州市| 揭西县| 开封县| 长丰县| 电白县| 大荔县| 新丰县| 清远市| 郓城县| 婺源县| 通化市| 玛纳斯县| 忻城县| 湘乡市| 镇雄县| 竹山县| 普陀区| 莱阳市| 盘山县| 榆林市| 庆城县| 安阳县| 肃北| 资源县| 普格县| 阿鲁科尔沁旗| 长葛市| 图们市| 濉溪县| 万盛区| 清水县| 常州市| 建昌县| 泊头市| 融水| 信丰县| 乌什县| 工布江达县| 封丘县| 凌源市| 中西区|