Счетчик просмотров56

СОРТИРОВКА ПО КЛЮЧУ: SORTED, KEY, LAMBDA

Оглавление
Простая сортировкаsorted против sortСортировка по своему правилу: параметр keylambda — функция в одну строкуСортировка по двум критериямВажно: знак минус разворачивает только числа

Простая сортировка

Функция sorted() возвращает новый отсортированный список, не меняя исходный:

PYTHON-КОД
1
2
3

А метод a.sort() сортирует список на месте и ничего не возвращает.

sorted против sort

ВызовМеняет исходный?Что возвращает
sorted(a)нетновый список
a.sort()даNone

Сортировка по своему правилу: параметр key

Параметр key принимает функцию, которая для каждого элемента возвращает «вес» для сравнения:

PYTHON-КОД
1
2

lambda — функция в одну строку

lambda — короткая безымянная функция. Запись lambda x: x[1] означает «возьми x и верни его второй элемент»:

PYTHON-КОД
1
2
3

Сортировка по двум критериям

Если нужно сортировать сначала по одному полю, а при равенстве — по другому, возвращаем из lambda кортеж:

PYTHON-КОД
1
2

Минус перед p[1] разворачивает порядок по очкам, а имя сравнивается по возрастанию. Этот приём — основа задания 26.

Важно: знак минус разворачивает только числа

Трюк -p[1] для разворота работает только с числами. Для строк минус не применить — там используют reverse=True (но он развернёт все критерии сразу). Когда нужны разнонаправленные сортировки, комбинируй минус для чисел и обычный порядок для строк в одном кортеже-ключе.

Оцените статью

Другие статьи по предмету

Другие статьи не найдены