<分区> 分区>
我正在使用以下函数按升序对列表进行排序。然而,虽然我的函数适用于列表,例如:[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
谁能解释一下这是怎么回事?
