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

首頁(yè) > 編程 > Python > 正文

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

2020-01-04 17:11:53
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文介紹的是關(guān)于Python列表項(xiàng)排序的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面來(lái)看看詳細(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)用場(chǎng)景

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

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

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

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

帶來(lái)的好處

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

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

其它說(shuō)明

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

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

總結(jié)

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 延安市| 宣化县| 杨浦区| 海城市| 神农架林区| 佳木斯市| 大渡口区| 奇台县| 长宁区| 嘉兴市| 湖南省| 兴文县| 万载县| 新龙县| 瑞金市| 烟台市| 福清市| 阿克苏市| 华蓥市| 大化| 德州市| 宾川县| 永康市| 宜州市| 新营市| 阿拉善右旗| 玉门市| 集贤县| 黄冈市| 丰顺县| 井冈山市| 合川市| 固阳县| 鞍山市| 思南县| 沿河| 临泽县| 荆州市| 轮台县| 长春市| 茂名市|