Тесты Пообщаться с GPT Протестировать код
Программирование Аналитика Дизайн Маркетинг Управление проектами
24 Сен 2023
2 мин
2213

Сортировка списка списков или списка кортежей по элементу на заданном индексе

Пройдите тест, узнайте какой профессии подходите

Часто встречаются ситуации, когда имеется список списков или список кортежей и требуется отсортировать весь список по одному из элементов вложенных

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

В качестве примера рассмотрим следующие данные:

data = [[1,2,3], [4,5,6], [7,8,9]]

или

data = [(1,2,3), (4,5,6), (7,8,9)]

Необходимо отсортировать эти списки по второму элементу каждого вложенного списка или кортежа, то есть по числам 2, 5, 8.

Решение

В Python предусмотрена функция sort(), которая позволяет отсортировать список. Однако, в данном случае, просто вызвать эту функцию не получится, поскольку нужно отсортировать по конкретному элементу вложенного списка или кортежа.

Для решения этой задачи в функцию sort() можно передать параметр key, который определяет по какому ключу будет производиться сортировка. В качестве этого ключа можно указать функцию, которая будет применяться к каждому элементу списка перед сортировкой.

В данном случае, в качестве функции можно использовать лямбда-функцию, которая возвращает элемент вложенного списка или кортежа по заданному индексу.

Пример кода для сортировки списка списков:

data = [[1,2,3], [4,5,6], [7,8,9]]
data.sort(key=lambda x: x[1])

Пример кода для сортировки списка кортежей:

data = [(1,2,3), (4,5,6), (7,8,9)]
data.sort(key=lambda x: x[1])

В обоих случаях результат будет следующим:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

То есть, списки отсортированы по второму элементу каждого вложенного списка или кортежа.

Таким образом, для сортировки списка списков или списка кортежей по элементу на заданном индексе, можно использовать функцию sort() с параметром key, в который передается лямбда-функция, возвращающая элемент вложенного списка или кортежа по заданному индексу.

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