Python list sorted reverse

Обратная сортировка списка в Python

Обратная сортировка списка в Python

Работа с разными типами данных и их инструментами это большая часть рабочего времени программиста. Хороший программист знает, какие существуют методы для работы с тем или иным типом данных, а сегодня на конкретном примере мы рассмотрим как организовать обратную сортировку списка.

На удивление вариантов реализации обратной сортировки оказалось не мало, я же рассмотрю те, что удалось вспомнить.

Сортировка срезом списка

Срезы, а так же слайсинг, нарезка и индексирование — это несколько названий одного и того же. Я постараюсь называть это срезами.

Срезы — позволяет нам получать последовательность элементов/символов (в зависимости от типа данных) по описанному шаблону.

Мы можем использовать срезы для обратной сортировки списка.

spisok_slice = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] spisok_slice[::-1]

Принцип работы среза

Срез принимает на вход 3 значения, их необходимо вводить в квадратные скобки

  • start — начальный элемент среза
  • stop — последний элемент среза
  • step — шаг среза

Не забываем, что отсчет элементов начинается с нуля

Отрицательные значения элементов используется для обратного порядка элементов

Если мы передадим в step -1 то получается, что мы вернем список в обратном порядке, от последнего значения к первому. Таким образом мы можем получить сортировку срезом.

Чтобы упростить понимание срезов, можно посмотреть на таблицу ниже, в которой визуально продемонстрированы элементы списка и их положительный и отрицательный индекс.

Положительный индекс 0 1 2 3 4 5 6 7 8 9
Элемент списка 1 2 3 4 5 6 7 8 9 10
Отрицательный индекс -10 -9 -8 -7 -6 -5 -4 -3 -2 -1

Таблица положительных и отрицательных индексов в списке

Использование среза не изменяет исходный список, а только возвращает копию изменений.

Сортировка методом списка reverse

В Python есть встроенный метод списка reverse(). Он позволяет изменить сортировку в исходном списке.

spisok_reverse = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] spisok_reverse.reverse() print(spisok_reverse)

Сортировка функцией reversed

В Python существует встроенная функция reversed, которая возвращает обратно-отсортированный список.

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

Сортировка функцией sorted

Казалось бы зачем столько, но все таки есть еще один вариант, использовать встроенную функцию sorted с флагом reverse=True

spisok_sorted = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(sorted(spisok_sorted, reverse=True))

Заключение

В данной статье мы рассмотрели несколько вариантов обратной сортировки списка в Python, сортировка с помощью среза, сортировка с помощью метода списка reverse, сортировка с помощью функции reverse и сортировка с помощью функции sorted.

Надеюсь статья была для вас полезна.

Знаете другие способы обратной сортировки списков? Пишите в комментариях 🙂

Программирую на Python с 2017 года. Люблю создавать контент, который помогает людям понять сложные вещи. Не представляю жизнь без непрерывного цикла обучения, спорта и чувства юмора.

Ссылка на мой github есть в шапке. Залетай.

Источник

Читайте также:  Java use jar lib
Оцените статью