程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python列表常見排序方法

編輯:Python

1、冒泡排序法

        讓列表中的一項和下一項作比較,若前一項大於後一項則交換兩者位置(升序)。

方法一:直接使用for循環

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語句

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、選擇排序法

        在未排序的列表中找到最小元素,存放在列表的最前面,然後再從剩余的元素中尋找最小的,放到已排序列表的末尾,以此類推,直到所有元素排序完畢(升序)

方法一:remove和append同時使用

L=[8,2,50,3]
l=[] #  創建一個空列表用於存放排序後的數據
for i in range(len(L)):
    a=min(L) #  創建一個變量存放最小值
    l.append(a) #  向空列表中加入數據
    L.remove(a) #  在原列表中將最小值剔除
print(l)

方法二:pop和append同時使用

L=[8,2,50,3]
# 創建函數尋找最小元素的索引值
def Smallest(L):
smallest = L[0]
s = 0 # 創建變量用於存放索引值
for i in range(1, len(L)):
if L[i] < smallest:
s = i
smallest = L[i]
return s # 返回最小元素的列表索引值
l = [] # 創建一個空列表用以存放排序後的數據
for i in range(len(L)):
smallest = Smallest(L)
l.append(L.pop(smallest)) # pop方法後跟元素當前列表最小值的索引值
print(l)

3、list.sort()方法

        iterable.sort(self,key,reverse)

iterable以為可迭代對象,可以是列表、集合、字典

key是函數,指定取待排序元素的函數規則

reverse實現降序排序,需要提供一個bool值,默認為False(升序)

L=[8,2,50,3]
L.sort()
print(L)

4、sorted()函數

        sorted(iterable,key=None,reverse=False)

key:通過這個參數可以自定義排序邏輯

L=[8,2,50,3]
l=sorted(L)
print(l)


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved