4. 选择排序

def smallest(lis):
    """
    取列表最小值
    :param lis: 期望排序的列表
    :return: 最小值的索引位置
    :smallest:存储最小值
    :smallest_index:最小值的索引位置
    """
    smallest = lis[0]
    smallest_index = 0
    for i in range(0, len(lis)):
        if lis[i] < smallest:
            smallest = lis[i]
            smallest_index = i
    return smallest_index

def selection_sort(lis):
    """
    选择排序后的列表
    :param lis: 期望排序的列表
    :return: 排序完成的列表
    """
    new_sort = []
    for i in range(0, len(lis)):
        smallest_index = smallest(lis)
        new_sort.append(lis.pop(smallest_index))
    return new_sort

li = [5, 8, 3, 4, 1, 6, 9, 7, 4, 2]
print(selection_sort(li))
原文地址:https://www.cnblogs.com/qimingming/p/13545745.html