欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

再來,讓我們用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的有變差。

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

>>>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ù),都能夠進行排序,生成一個排序后的列表。

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

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

高級用法:

有時候,我們要處理的數(shù)據(jù)內(nèi)的元素不是一維的,而是二維的甚至是多維的,那要怎么進行排序呢?這時候,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ù)表達式,其x就代表列表里的每一個元素,然后分別利用索引返回元素內(nèi)的第一個和第二個元素,這就代表了sorted()函數(shù)利用哪一個元素進行排列。而reverse參數(shù)就如同上面講的一樣,起到逆排的作用。默認情況下,reverse參數(shù)為False。

當然,正如一開始講到的那樣,如果想要對列表直接進行排序操作,可以用成員方法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)文章

  • Python FTP文件定時自動下載實現(xiàn)過程解析

    Python FTP文件定時自動下載實現(xiàn)過程解析

    這篇文章主要介紹了Python FTP文件定時自動下載實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python如何給你的程序做性能測試

    Python如何給你的程序做性能測試

    這篇文章主要介紹了Python如何給你的程序做性能測試,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • python使用PySimpleGUI設置進度條及控件使用

    python使用PySimpleGUI設置進度條及控件使用

    PySimpleGUI是一個在tkinter基礎上的,足夠簡單,方便,pythonic的GUI庫.本文給大家介紹python使用PySimpleGUI設置進度條的方法及進度條控件使用代碼,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • Python中類型檢查的詳細介紹

    Python中類型檢查的詳細介紹

    Python是一種非常動態(tài)的語言,函數(shù)定義中完全沒有類型約束。下面這篇文章主要給大家詳細介紹了Python中類型檢查的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • Python計算一個點到所有點的歐式距離實現(xiàn)方法

    Python計算一個點到所有點的歐式距離實現(xiàn)方法

    今天小編就為大家分享一篇Python計算一個點到所有點的歐式距離實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python在報表自動化的優(yōu)勢及實現(xiàn)流程

    Python在報表自動化的優(yōu)勢及實現(xiàn)流程

    本文利用Python實現(xiàn)報表自動化,通過介紹環(huán)境設置、數(shù)據(jù)收集和準備、報表生成以及自動化流程,展示Python的靈活性和豐富的生態(tài)系統(tǒng)在報表自動化中的卓越表現(xiàn),從設置虛擬環(huán)境到使用Pandas和Matplotlib處理數(shù)據(jù),到借助APScheduler實現(xiàn)定期自動化,每個步驟都得到詳盡闡述
    2023-12-12
  • 基于循環(huán)神經(jīng)網(wǎng)絡(RNN)的古詩生成器

    基于循環(huán)神經(jīng)網(wǎng)絡(RNN)的古詩生成器

    這篇文章主要為大家詳細介紹了基于循環(huán)神經(jīng)網(wǎng)絡(RNN)的古詩生成器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python中最大最小賦值小技巧(分享)

    Python中最大最小賦值小技巧(分享)

    下面小編就為大家分享一篇Python中最大最小賦值小技巧,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Python+unittest+requests 接口自動化測試框架搭建教程

    Python+unittest+requests 接口自動化測試框架搭建教程

    這篇文章主要介紹了Python+unittest+requests 接口自動化測試框架搭建教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Python urllib、urllib2、httplib抓取網(wǎng)頁代碼實例

    Python urllib、urllib2、httplib抓取網(wǎng)頁代碼實例

    這篇文章主要介紹了Python urllib、urllib2、httplib抓取網(wǎng)頁代碼實例,本文直接給出demo代碼,代碼中包含詳細注釋,需要的朋友可以參考下
    2015-05-05

最新評論