小编Ari*_*bas的帖子

在python中对列表进行排序的算法无法正常工作

我使用以下函数以按递增顺序对列表进行排序.但是,虽然我的函数适用于以下列表:[1,5,6,9,3]或者[56,43,16,97,45],它不适用于表单的列表:[20,10,1,3,50].

在这种情况下,计算机似乎认为3> 20和3> 10和3在我得到的"排序"列表中就在50(倒数第二个)之前结束.更准确地说,我得到的结果是:[1,10,20,3,50].

这是我的代码:

def function_sort(L):

    for j in range(len(L)):
        min=j
        for i in range(j+1,len(L)):
           if L[i]<L[min]:
              min = i

        if(min != j):
            L[j],L[min] = L[min],L[j]

            print L
    return L
Run Code Online (Sandbox Code Playgroud)

谁能请你解释一下发生了什么?

python

1
推荐指数
1
解决办法
116
查看次数

标签 统计

python ×1