如何在选择排序中对列表进行排序,而不是按索引排序,而是按数字排序?

时间:2017-07-09 17:31:22

标签: python sorting

问题只是纯粹的好奇心,因为我最近开始学习算法和数据结构并在python中应用知识。 我的代码是:

def sorting(listik):
    n = range(len(listik))
    for i in n:
        lowest = min(listik[i:])
        for j in n:
            if listik[j] < listik[lowest:]:
                lowest, listik[j] = i, j

listik = [2,8,5,4,7,1,6,9,10,3]
sorting(listik)
print listik

输出是正确的,但它按照预期按索引排序。 我已经看到使用for循环执行此操作的代码,但那些不是选择排序算法,但是我不能100%确定是否可以应用此算法。(另外,如果此算法可以,我很乐意听到评论简化,没有使用外部库tho) 谢谢!

2 个答案:

答案 0 :(得分:1)

你可以使用sort:

>>> listik = [2,8,5,4,7,1,6,9,10,3]
>>> listik.sort()
>>> listik
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

答案 1 :(得分:0)

内置的排序函数将对数字列表进行排序,而不考虑索引。

systemd --system