Python 如何使用迭代函数按最小值排序?

Python 如何使用迭代函数按最小值排序?,python,algorithm,min,Python,Algorithm,Min,我的老师想让我做一个算法,以升序排序,但使用列表中的最小数,并将其放在开头。我读了一份数字文件,到目前为止我已经: def findMin(ls, n): m = 0 for i in range(1, n): #n is length if ls[i]<ls[m]: m = i return m def sortlist(ls,n):

我的老师想让我做一个算法,以升序排序,但使用列表中的最小数,并将其放在开头。我读了一份数字文件,到目前为止我已经:

  def findMin(ls, n):
        m = 0
        for i in range(1, n):        #n is length
                if ls[i]<ls[m]:
                        m = i
        return m


  def sortlist(ls,n):
        if n == 1:
                return
        m = findMin(ls,n)
        ls.insert(0,m)
        ls.remove(m)
        sortlist(ls, n)
def findMin(ls,n):
m=0
对于范围(1,n)中的i:#n是长度

如果ls[i]从你的描述中,我推断你的老师希望你实施。你可能想看看


在该算法中,将最小的数字与当前位置交换。最初,当前位置位于列表的开头,当您交换值时,它会移动。

从您的描述中,我推断您的老师希望您实现。你可能想看看

在该算法中,将最小的数字与当前位置交换。最初,当前位置位于列表的开头,并在交换值时移动。

这是冒泡排序:

...
for i in range(0, n-1):
    for j in range(i + 1, n):
        if ls[j] < ls[i]:
            temp = ls[i]
            ls[i] = ls[j]
            ls[j] = temp
...
。。。
对于范围(0,n-1)内的i:
对于范围(i+1,n)内的j:
如果ls[j]
这是冒泡排序:

...
for i in range(0, n-1):
    for j in range(i + 1, n):
        if ls[j] < ls[i]:
            temp = ls[i]
            ls[i] = ls[j]
            ls[j] = temp
...
。。。
对于范围(0,n-1)内的i:
对于范围(i+1,n)内的j:
如果ls[j]