![](/img/trans.png)
[英]list.sort() not sorting values correctly by second tuple parameter
[英]Sorting A List From Least to Greatest Without list.sort( )
作為智力挑戰,我正在嘗試執行標題中所述的操作。 我被困住了,想知道是否有人有幫助的想法..?
def main():
my_list = [1,2,3,4,5,6,3,4,63,3]
sort(my_list)
def sort(my_list):
n=0
m=1
for number in my_list:
if my_list[n] < my_list[m]:
my_list[n] = my_list[n+1]
n+=1
m+=1
print my_list
if __name__ == '__main__':
main()
排序算法有很多,例如bubble
, quick sort
等,這是一個參考http://www.sorting-algorithms.com/ ,您可以根據描述實現其中的任何一種。
以下是氣泡排序
def main():
my_list = [1,2,3,4,5,6,3,4,63,3]
sort(my_list)
def sort(my_list):
size = len(my_list)
for i in range(size):
for j in range(size-i-1):
if(my_list[j] > my_list[j+1]):
tmp = my_list[j]
my_list[j] = my_list[j+1]
my_list[j+1] = tmp
print my_list
if __name__ == '__main__':
main()
希望有幫助!
大多數 python實現使用mergesort
算法 1 。
快速的Google搜索將發現一個實現,但是該算法非常簡單,值得您自己編寫代碼。
1 (實際上,他們使用Tim排序,這是mergesort和插入排序之間的混合...)
def sort(L):
newlist = []
for x in range(len(L)):
newlist.append(min(L))
L.remove(newlist[x])
return newlist
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.