Сортировка нескольких ключей Python: различные методы сортировки списков

В Python сортировку списка или коллекции элементов на основе нескольких ключей можно выполнить различными методами. Вот несколько часто используемых подходов:

  1. Использование функции sorted()с несколькими критериями:

    sorted_list = sorted(data, key=lambda x: (x.key1, x.key2))
  2. Использование функции itemgetter()из модуля operator:

    from operator import itemgetter
    sorted_list = sorted(data, key=itemgetter('key1', 'key2'))
  3. Реализация пользовательской функции сортировки:

    def custom_sort(item):
       return item.key1, item.key2
    sorted_list = sorted(data, key=custom_sort)
  4. Использование функции attrgetter()из модуля operator(для сортировки по атрибутам объекта):

    from operator import attrgetter
    sorted_list = sorted(data, key=attrgetter('attribute1', 'attribute2'))
  5. Использование метода sort()с лямбда-функцией:

    data.sort(key=lambda x: (x.key1, x.key2))

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