Изучайте 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 мощным инструментом для обработки и анализа данных.
Добавить комментарий