Методы списков sort(), reverse()

Что, если вам нужно упорядочить элементы списка по возрастанию или убыванию? Или, может быть, вам нужно просто перевернуть список задом наперёд? Для этого в Python есть два мощных метода: sort и reverse. Давайте разберём, как они работают и когда их использовать.

Сортируем элементы списка

Представьте, что у вас есть список чисел, и вы хотите расположить их по возрастанию. Или, может быть, у вас есть список слов, и вы хотите отсортировать их в алфавитном порядке. Метод sort — это ваш помощник в этом деле. Он сортирует элементы списка на месте, то есть изменяет сам список, а не создаёт новый.

Синтаксис:

список.sort(key=None, reverse=False)

key: Функция, которая определяет порядок сортировки. По умолчанию None, что означает сортировку по значению элементов.

reverse: Если True, сортировка выполняется в обратном порядке (по убыванию). По умолчанию False.

Сортировка чисел по возрастанию

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
numbers.sort()
print(numbers)  # Вывод: [1, 1, 2, 3, 4, 5, 5, 6, 9]

Здесь мы отсортировали список чисел по возрастанию. Обратите внимание, что список изменился на месте.

Сортировка строк по алфавиту

fruits = ['яблоко', 'банан', 'апельсин', 'киви']
fruits.sort()
print(fruits)  # Вывод: ['апельсин', 'банан', 'киви', 'яблоко']

Здесь мы отсортировали список фруктов в алфавитном порядке.

Сортировка по убыванию

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
numbers.sort(reverse=True)
print(numbers)  # Вывод: [9, 6, 5, 5, 4, 3, 2, 1, 1]

Здесь мы отсортировали список чисел по убыванию, указав параметр reverse=True. Теперь числа идут от большего к меньшему. Это может быть полезно, если вам нужно, например, отсортировать оценки студентов от высшей к низшей.

Сортировка с использованием ключа

words = ['яблоко', 'банан', 'апельсин', 'киви']
words.sort(key=len)  # Сортировка по длине слова
print(words)  # Вывод: ['киви', 'банан', 'яблоко', 'апельсин']

Здесь мы отсортировали список слов по их длине, используя параметр key=len. Теперь слова идут от самого короткого ("киви") к самому длинному ("апельсин").


Переворачиваем список

А что, если вам нужно просто перевернуть список задом наперёд? Например, у вас есть список дел, и вы хотите увидеть их в обратном порядке. Метод reverse позволяет сделать это легко и быстро. Он изменяет порядок элементов в списке на обратный, не создавая новый список.

список.reverse()

Пример:

tasks = ['поесть', 'поработать', 'поспать']
tasks.reverse()
print(tasks)  # Вывод: ['поспать', 'поработать', 'поесть']

Здесь мы перевернули список задач. Теперь последнее дело стало первым, а первое — последним.


Когда использовать sort и reverse?

Чтобы лучше понять, когда и какой метод использовать, давайте разберём несколько сценариев:

sort: Используйте, когда вам нужно упорядочить элементы списка по возрастанию, убыванию или по какому-либо другому критерию. Например, если у вас есть список чисел, и вы хотите расположить их по возрастанию, или список слов, который нужно отсортировать по алфавиту.

reverse: Используйте, когда вам нужно просто перевернуть список задом наперёд. Например, если вы хотите увидеть список дел в обратном порядке или перевернуть список чисел для удобства.


Таблица методов списков

Для удобства вот таблица с методами, которые мы разобрали:

МетодОписаниеПример
sortСортирует элементы списка на местеnumbers.sort()
reverseПереворачивает список задом наперёдtasks.reverse()

Методы sort и reverse — это ваши верные помощники в работе со списками в Python. С их помощью вы можете упорядочивать элементы списка по различным критериям и переворачивать список задом наперёд.

Перейти к следующему шагу

Возникли вопросы при прочтении лекции? Задайте вопрос в комментариях

Комментарии