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, 0
result =
#左右列表元素對比大小,然後加1
while i < len(left) and j < len(right):
if left[i] <= right[j]:
i += 1
else:
j += 1
#將大的值追加到列表右邊
result += left[i:]
result += right[j:]
return result
def merge_sort(lists):
# 如果長度小於等於1,退出迴圈返回列表值
if len(lists) <= 1:
return lists
# 取中間值,分成兩個列表
num = len(lists)/2
# 重複操作,直到只有乙個元素
left = merge_sort(lists[:num])
right = merge_sort(lists[num:])
# 呼叫對比函式
return merge(left, right)
if __name__ == "__main__":
lists = [37,41.12,35,22,98,16,7,45,31]
s= merge_sort(lists)
print s
[7, 16, 22, 31, 35, 37, 41.12, 45, 98]
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列表排序
1.先來sort方法和sorted排序 sort方法不會生成新的列表,而sorted會 lst 3,2,9,4,34,43,22,11 lst.sort print lst print sorted lst 2.定義乙個列表,將原列表的最小值取出來,依次新增 lst1 def sort list t...