首頁  >  文章  >  後端開發  >  Python學習小技巧之列表項目排序的範例程式碼分享

Python學習小技巧之列表項目排序的範例程式碼分享

黄舟
黄舟原創
2017-05-21 13:50:281264瀏覽

這篇文章主要為大家介紹了Python學習小技巧之列表項目排序的相關資料,文中介紹的非常詳細,需要的朋友們可以參借鑒,下面跟著小編一起來學習學習吧。

本文介紹的是關於Python列表項目排序的相關內容,分享出來供大家參考學習,以下來看看詳細的介紹:

典型程式碼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]


應用場景

需要對清單中的項目進行排序時使用。其中典型代碼1是使用的列表本身的一個排序方法sort,這個方法自動按照升序排序,並且是原地排序,被排序的列表本身會被修改;典型代碼2是調用的

內置函數

sort,會產生一個新的經過排序後的列表物件,原始列表不受影響。這兩種方式接受的參數幾乎是一樣的,他們都接受一個key參數,這個參數用來指定用物件的哪一部分為排序的依據:

data_list = [(0, 100), (77, 34), (55, 97)] 
data_list.sort(key=lambda x: x[1]) # 我们想要基于列表项的第二个数进行排序 
print(data_list) 
 
>>> [(77, 34), (55, 97), (0, 100)]
另外一個經常使用的參數是reverse,用來指定是否依照倒序排序,預設為False:

data_list = [(0, 100), (77, 34), (55, 97)] 
data_list.sort(key=lambda x: x[1], reverse=True) # 我们想要基于列表项的第二个数进行排序,并倒序 
print(data_list) 
>>> [(0, 100), (55, 97), (77, 34)]

帶來的好處

## 1. 內建的排序方法,執行效率高,表達能力強,使程式碼更緊湊,已讀2. 靈活的參數,用於指定排序的基準,比在類似於Java的語言中需要寫一個comparator要方便很多

############其它###說明############1. sorted內建函數比列表的sort方法要適用範圍更廣泛,它可以對除列表之外的可迭代資料結構進行排序;######2. list內建的sort方法,屬於原地排序,理論上能夠節省記憶體的消耗;#### ########總結#########

以上是Python學習小技巧之列表項目排序的範例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn