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

Python學(xué)習(xí)小技巧之列表項(xiàng)的排序

 更新時間:2017年05月20日 16:08:51   作者:tinyid  
這篇文章主要給大家介紹了Python學(xué)習(xí)小技巧之列表項(xiàng)排序的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友們可以參借鑒,下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。

本文介紹的是關(guān)于Python列表項(xiàng)排序的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面來看看詳細(xì)的介紹:

典型代碼1:

data_list = [6, 9, 1, 3, 0, 10, 100, -100] 
data_list.sort() 
print(data_list) 

輸出1:

[-100, 0, 1, 3, 6, 9, 10, 100] 

典型代碼2:

data_list = [6, 9, 1, 3, 0, 10, 100, -100] 
data_list_copy = sorted(data_list) 
print(data_list) 
print(data_list_copy) 

輸出2:

[6, 9, 1, 3, 0, 10, 100, -100] 
[-100, 0, 1, 3, 6, 9, 10, 100] 

應(yīng)用場景

需要對列表中的項(xiàng)進(jìn)行排序時使用。其中典型代碼1是使用的列表自身的一個排序方法sort,這個方法自動按照升序排序,并且是原地排序,被排序的列表本身會被修改;典型代碼2是調(diào)用的內(nèi)置函數(shù)sort,會產(chǎn)生一個新的經(jīng)過排序后的列表對象,原列表不受影響。這兩種方式接受的參數(shù)幾乎是一樣的,他們都接受一個key參數(shù),這個參數(shù)用來指定用對象的哪一部分為排序的依據(jù):

data_list = [(0, 100), (77, 34), (55, 97)] 
data_list.sort(key=lambda x: x[1]) # 我們想要基于列表項(xiàng)的第二個數(shù)進(jìn)行排序 
print(data_list) 
 
>>> [(77, 34), (55, 97), (0, 100)] 

另外一個經(jīng)常使用的參數(shù)是reverse,用來指定是否按照倒序排序,默認(rèn)為False:

data_list = [(0, 100), (77, 34), (55, 97)] 
data_list.sort(key=lambda x: x[1], reverse=True) # 我們想要基于列表項(xiàng)的第二個數(shù)進(jìn)行排序,并倒序 
print(data_list) 
>>> [(0, 100), (55, 97), (77, 34)] 

帶來的好處

1. 內(nèi)置的排序方法,執(zhí)行效率高,表達(dá)能力強(qiáng),使代碼更加緊湊,已讀

2. 靈活的參數(shù),用于指定排序的基準(zhǔn),比在類似于Java的語言中需要寫一個comparator要方便很多

其它說明

1. sorted內(nèi)置函數(shù)比列表的sort方法要適用范圍更廣泛,它可以對除列表之外的可迭代數(shù)據(jù)結(jié)構(gòu)進(jìn)行排序;

2. list內(nèi)置的sort方法,屬于原地排序,理論上能夠節(jié)省內(nèi)存的消耗;

總結(jié)

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 深入了解Django View(視圖系統(tǒng))

    深入了解Django View(視圖系統(tǒng))

    這篇文章主要介紹了簡單了解Django View(視圖系統(tǒng)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 如何利用PyQt5制作一個簡單的登錄界面

    如何利用PyQt5制作一個簡單的登錄界面

    初學(xué)者制作登錄界面時常遇到網(wǎng)上代碼看不懂、不會用、用不了的問題,下面這篇文章主要給大家介紹了關(guān)于如何利用PyQt5制作一個簡單的登錄界面,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • django為Form生成的label標(biāo)簽添加class方式

    django為Form生成的label標(biāo)簽添加class方式

    這篇文章主要介紹了django為Form生成的label標(biāo)簽添加class方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 12個步驟教你理解Python裝飾器

    12個步驟教你理解Python裝飾器

    這篇文章主要介紹了12個步驟教你理解Python裝飾器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python實(shí)現(xiàn)打印實(shí)心和空心菱形

    Python實(shí)現(xiàn)打印實(shí)心和空心菱形

    今天小編就為大家分享一篇Python實(shí)現(xiàn)打印實(shí)心和空心菱形,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 淺談python3 構(gòu)造函數(shù)和析構(gòu)函數(shù)

    淺談python3 構(gòu)造函數(shù)和析構(gòu)函數(shù)

    這篇文章主要介紹了淺談python3 構(gòu)造函數(shù)和析構(gòu)函數(shù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python如何獲得百度統(tǒng)計API的數(shù)據(jù)并發(fā)送郵件示例代碼

    Python如何獲得百度統(tǒng)計API的數(shù)據(jù)并發(fā)送郵件示例代碼

    這篇文章主要給大家介紹了關(guān)于Python如何獲得百度統(tǒng)計API的數(shù)據(jù)并發(fā)送郵件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Python如何輸出異常信息(行號)

    Python如何輸出異常信息(行號)

    這篇文章主要介紹了Python如何輸出異常信息(行號)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python的json包位置及用法總結(jié)

    python的json包位置及用法總結(jié)

    在本篇內(nèi)容里小編給大家分享了關(guān)于python的json包用法詳解內(nèi)容,需要的朋友們跟著學(xué)習(xí)下吧。
    2020-06-06
  • 基于python實(shí)現(xiàn)簡單網(wǎng)頁服務(wù)器代碼實(shí)例

    基于python實(shí)現(xiàn)簡單網(wǎng)頁服務(wù)器代碼實(shí)例

    這篇文章主要介紹了基于python實(shí)現(xiàn)簡單網(wǎng)頁服務(wù)器代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09

最新評論