В этом рецепте мы будем сортировать список чисел методом "Сортировка выбором". Он не настолько сложен в своем исполнении и займет всё приготовление буквально несколько минут.
В чем же заключается данный метод? Сперва мы находим в неотсортированном списке минимальное значение, далее меняем местами первый элемент подмассива и минимум и повторяем до тех пор, пока список не будет отсортирован.
ВНИМАНИЕ: Сервис удаляет начальные пробелы в строках, поэтому приходится использовать символ нижнего подчеркивания вместо каждого пробела. И я буду предоставлять скриншоты общего кода для наглядности
Ингредиенты:
Python 3
Метод сортировки "Сортировка выбором"
PyCharm по вкусу
Приготовление:
1. Создайте список чисел, который мы и будем сортировать
list_number = [2,67,4,5,1,45,13,45,17,19,33]
2. Добавьте цикл по данному списку с использованием enumerate
for ind, numb in enumerate(list_number):
3. Вложите в цикл функцию поиска минимального числа и перестановкой их местами
search_min = min(range(ind, len(list_number)), key = list_number.__getitem__)
list_number[ind], list_number[search_min] = list_number[search_min], numb
Пояснение:
min(range(ind, len(list_number)), key = list_number.__getitem__) - прогоняет цикл от индекса ind до количества элементов list_number.
key = list_number.__getitem__ - берем значение из list_number. То есть поиск минимального значения
list_number[ind], list_number[search_min] = list_number[search_min], numb - меняем местами эти значения.
4. Выведите на экран отсортированный список
print(list_number)
Если вы желаете отсортировать список по убыванию, то поменяйте min на max
search_min = max(range(ind, len(list_number)), key = list_number.__getitem__)
Готовое блюдо:
list_number = [2,67,4,5,1,45,13,45,17,19,33]
for ind, numb in enumerate(list_number):
____search_min = min(range(ind, len(list_number)), key = list_number.__getitem__)
____list_number[ind], list_number[search_min] = list_number[search_min], numb
print(list_number)