簡體   English   中英

不使用內置的.sort()在python中對列表進行排序

[英]Sorting a list in python without using the built in .sort()

def sortList(myList):
    sortList = []
    while myList:
        Min = myList[0]
        for i in myList:
            if i < Min:
                Min = i
        sortList.append(Min)
    return sortList

此函數應采用mylist並返回不使用.sort()排序的mylist。 誰能幫助我找出我的錯誤以使該程序運行?

這就是您要執行的操作:

def sort(L):
    answer = []
    while L:
        min = L[0]
        minInd = 0
        for i in range(len(L)):
            num = L[i]
            if num < min:
                min = num
                minInd = i
        answer.append(num)
        L.pop(minInd)
    return answer

現在,讓我們開始進行改進:

def sort(L):
    answer = []
    while L:
        minInd = 0
        min = L[0]
        for i,num in enumerate(L):
            if num<min:
                minInd = i
                min = num
        answer.append(min)
        L.pop(minInd)
    return answer

然后再次:

def sort(L):
    answer = []
    while L:
        m = min(L)  # using the built-in `min` function
        L.remove(m)
        answer.append(m)
    return answer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM