python列表中常見(jiàn)的一些排序方法
1、冒泡排序法
讓列表中的一項(xiàng)和下一項(xiàng)作比較,若前一項(xiàng)大于后一項(xiàng)則交換兩者位置(升序)。
方法一:直接使用for循環(huán)
L=[8,2,50,3] for i in range(len(L)): for j in range(i+1,len(L)): if L[i]>L[j]: L[i],L[j]=L[j],L[i] print(L)
方法二:使用while語(yǔ)句
L=[8,2,50,3] n=0 while n<len(L)-1: n+=1 i=0 while i<len(L)-1: if L[i]>L[i+1]: L[i],L[i+1]=L[i+1],L[i] i+=1 print(L)
2、選擇排序法
在未排序的列表中找到最小元素,存放在列表的最前面,然后再?gòu)氖S嗟脑刂袑ふ易钚〉?,放到已排序列表的末尾,以此類推,直到所有元素排序完畢(升序?/p>
方法一:remove和append同時(shí)使用
L=[8,2,50,3] l=[] # 創(chuàng)建一個(gè)空列表用于存放排序后的數(shù)據(jù) for i in range(len(L)): a=min(L) # 創(chuàng)建一個(gè)變量存放最小值 l.append(a) # 向空列表中加入數(shù)據(jù) L.remove(a) # 在原列表中將最小值剔除 print(l)
方法二:pop和append同時(shí)使用
L=[8,2,50,3] # 創(chuàng)建函數(shù)尋找最小元素的索引值 def Smallest(L): smallest = L[0] s = 0 # 創(chuàng)建變量用于存放索引值 for i in range(1, len(L)): if L[i] < smallest: s = i smallest = L[i] return s # 返回最小元素的列表索引值 l = [] # 創(chuàng)建一個(gè)空列表用以存放排序后的數(shù)據(jù) for i in range(len(L)): smallest = Smallest(L) l.append(L.pop(smallest)) # pop方法后跟元素當(dāng)前列表最小值的索引值 print(l)
3、list.sort()方法
iterable.sort(self,key,reverse)
iterable以為可迭代對(duì)象,可以是列表、集合、字典
key是函數(shù),指定取待排序元素的函數(shù)規(guī)則
reverse實(shí)現(xiàn)降序排序,需要提供一個(gè)bool值,默認(rèn)為False(升序)
L=[8,2,50,3] L.sort() print(L)
4、sorted()函數(shù)
sorted(iterable,key=None,reverse=False)
key:通過(guò)這個(gè)參數(shù)可以自定義排序邏輯
L=[8,2,50,3] l=sorted(L) print(l)
總結(jié)
到此這篇關(guān)于python列表中常見(jiàn)的一些排序方法的文章就介紹到這了,更多相關(guān)python列表排序方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python自動(dòng)化辦公之Excel數(shù)據(jù)的寫入
這篇文章主要為大家詳細(xì)介紹一下Python中excel的寫入模塊- xlsxwriter,并利用該模塊實(shí)現(xiàn)Excel數(shù)據(jù)的寫入,感興趣的小伙伴可以了解一下2022-05-05如何優(yōu)雅地改進(jìn)Django中的模板碎片緩存詳解
這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅地改進(jìn)Django中的模板碎片緩存的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07Flask框架使用DBUtils模塊連接數(shù)據(jù)庫(kù)操作示例
這篇文章主要介紹了Flask框架使用DBUtils模塊連接數(shù)據(jù)庫(kù)操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了flask框架使用DBUtils模塊連接數(shù)據(jù)庫(kù)的常見(jiàn)操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-07-07Python字典一個(gè)key對(duì)應(yīng)多個(gè)value幾種實(shí)現(xiàn)方式
python中字典的健和值是一一對(duì)應(yīng)的,如果對(duì)字典進(jìn)行添加操作時(shí)如果健的名字相同,則當(dāng)前健對(duì)應(yīng)的值就會(huì)被覆蓋,有時(shí)候我們想要一個(gè)健對(duì)應(yīng)多個(gè)值的場(chǎng)景,這篇文章主要給大家介紹了關(guān)于Python字典一個(gè)key對(duì)應(yīng)多個(gè)value幾種實(shí)現(xiàn)方式的相關(guān)資料,需要的朋友可以參考下2023-10-10從Python的源碼淺要剖析Python的內(nèi)存管理
這篇文章主要介紹了從Python的源碼淺要剖析Python的內(nèi)存管理,需要的朋友可以參考下2015-04-04python中csv文件數(shù)據(jù)顏色設(shè)置方式
這篇文章主要介紹了python中csv文件數(shù)據(jù)顏色設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02