国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2019-11-25 16:10:10
字體:
供稿:網(wǎng)友

本文介紹的是關(guān)于Python列表項排序的相關(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)用場景

需要對列表中的項進行排序時使用。其中典型代碼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]) # 我們想要基于列表項的第二個數(shù)進行排序 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) # 我們想要基于列表項的第二個數(shù)進行排序,并倒序 print(data_list) >>> [(0, 100), (55, 97), (77, 34)] 

帶來的好處

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

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

其它說明

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

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

總結(jié)

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 冀州市| 静宁县| 金坛市| 平罗县| 丰都县| 望江县| 镇平县| 高碑店市| 赤城县| 曲阜市| 沙雅县| 库车县| 平远县| 即墨市| 安吉县| 乳山市| 肇东市| 阿合奇县| 北辰区| 宜良县| 瓦房店市| 高雄市| 乾安县| 泸溪县| 嘉义市| 河北区| 石林| 都昌县| 临清市| 卫辉市| 武宣县| 平南县| 湖南省| 清徐县| 兴文县| 克什克腾旗| 驻马店市| 禹城市| 开化县| 内乡县| 禹州市|