Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
4364

Сортировка списка по нескольким атрибутам в Python

Сортировка данных — одна из самых распространенных задач в программировании. В Python есть встроенная функция sorted(), которая позволяет сортировать

Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.

Сортировка данных — одна из самых распространенных задач в программировании. В Python есть встроенная функция sorted(), которая позволяет сортировать данные по одному атрибуту. Например, представьте, что у вас есть список списков:

data = [[5, 'Алексей', 'синий'],
        [3, 'Виктор', 'красный'],
        [7, 'Алексей', 'желтый']]

Можно отсортировать этот список по имени, используя функцию sorted() и itemgetter() из модуля operator:

from operator import itemgetter

sorted_data = sorted(data, key=itemgetter(1))

Но что делать, если нужно отсортировать список по нескольким атрибутам, например, по имени и цвету одновременно?

Сортировка по нескольким атрибутам

В Python, функция sorted() может принимать в качестве ключа кортеж. Это означает, что можно отсортировать список по нескольким атрибутам, просто передав их в качестве ключа в виде кортежа. Вернемся к предыдущему примеру и отсортируем его по имени и цвету:

from operator import itemgetter

sorted_data = sorted(data, key=itemgetter(1, 2))

Так, список будет сначала отсортирован по имени, а затем, внутри каждой группы с одинаковыми именами, по цвету. Это позволяет очень просто и эффективно сортировать данные по нескольким атрибутам одновременно.

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Заключение

В Python, сортировка данных по нескольким атрибутам — это просто и эффективно. Используя функцию sorted() и itemgetter() из модуля operator, можно легко отсортировать список по любому количеству атрибутов, просто передав их в качестве ключа в виде кортежа. Это делает Python мощным инструментом для обработки и анализа данных.

Тест на профориентацию
За 10 минут узнайте, как ваш опыт пригодиться в IT индустрии
Подробнее
Тест на профориентацию

Добавить комментарий