我正在使用以下函數來按遞增順序對列表進行排序。但是,雖然我的功能適用於列表,例如:[1,5,6,9,3]
或[56,43,16,97,45]
,但它不適用於表格列表:[20,10,1,3,50]
。在python中對列表進行排序的算法無法正常工作
在這種情況下,計算機似乎認爲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
誰能請解釋我是怎麼回事?
爲什麼不使用內建的'.sort()'方法? – Scironic
@Scironic:對我來說,這聽起來像是一個非常合理的編程練習。 – NPE
因爲這是一個關於主題,合理和明確闡述的問題,所以我不能說我明白了這些讚譽。 – NPE