1.使用list內建函式sort排序
list.sort(key=none,reverse=false)
l = [2,4,4,1,7,2,5,0](l.sort())
結果:[0, 1, 2, 2, 4, 4, 5, 7]
l.sort(reverse=true)
(l)結果:[7, 5, 4, 4, 2, 2, 1, 0]
2.用序列型別函式sorted(list)進行排序
l = [2,4,4,1,7,2,5,0](sorted(l))
結果:[0, 1, 2, 2, 4, 4, 5, 7]
注意:sorted和sort區別
sorted(list)返回乙個物件,可以用作表示式,原生的list順序不變,生成乙個新的排好序的list物件,sorted可以對可迭代物件進行排序
list.sort()不會返回物件,改變原有的list順序。只能用於列表排序
3.選擇排序法
從第乙個位置開始比較,找出最小的,和第乙個位置互換,開始下一輪。
步驟:在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。
以此類推,直到所有元素均排序完畢。
#選擇排序
s = [2,4,1,8,33,3,9,22]
n =len(s)
for i in
range(n):
min = i #
最小值索引
for j in range(i+1,n):
if s[min] >s[j]:
min =j
s[min],s[i] = s[i],s[min] #
找出最小值與當前值互動
print(s)
4.氣泡排序法
從左到右,陣列中相鄰的兩個元素進行比較,將較大的放到後面。
比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對第0個到第n-1個資料做同樣的工作。這時,最大的數就「浮」到了陣列最後的位置上。
針對所有的元素重複以上的步驟,除了最後乙個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
lt = [3, 5, 2, 1, 8, 4]n=len(lt)
for x in range(n-1):
for y in range(n-1-x):
if lt[y]>lt[y+1]:
lt[y],lt[y+1]=lt[y+1],lt[y]
print(lt)
python 列表排序 python列表排序有哪些
python列表排序 1 氣泡排序,是一種簡單的排序演算法,它重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來 2 插入排序,通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。1 氣泡排序 氣泡排序 bubble sort 是一種簡單的排序...
python 列表排序
列表排序 s 1,2,3 s.reverse 倒序 s.sort 正序 sorted sorted iterable,cmp none,key none,reverse false new sorted list iterable 是可迭代型別 cmp 用於比較的函式,比較什麼由key決定,有預設值...
列表python排序
python題目 對列表 37,41.12,35,22,98,16,7,45,31 進行排序。這裡不考慮.sort 方法。usr bin env python coding utf 8 def merge left,right i,j 0,0result 左右列表元素對比大小,然後加1while i...