Автор оригинала: Python Examples.
Сортировать список кортежей в Python
Подумайте, что у вас есть список кортежей. Вы можете отсортировать кортежи в списке, как и вы сортировка списка целых чисел.
Исходя из того, что кортеж может содержать в нем несколько элементов, вы можете отсортировать этот список кортежей на основе некоторых элементов всех кортежей.
В этом руководстве мы узнаем, как сортировать список кортежей на основе первого, второго или ITH-элемента в кортежах. Есть много способов сделать это. Мы посмотрим на примеры следующих способов.
- Используйте Inbuilt List.sort () метод.
- Используйте Bubble Sort ()
Вы можете использовать любой сортировочный () алгоритм. Процесс должен быть таким же, как и использование пузырькового сорта, приведенного в этом руководстве.
Пример 1: Сортировка списка кортежей с использованием списка .sort ()
В этом примере мы берем кортежи, содержащие имя и следы студентов в классе. Мы отсортируем эти кортежи на основе знаков, второй элемент во всех кортежах.
Python Program
list_students = [('Saranya',84), ('Surya',92) , ('Joy',88) , ('Sree',86), ('Ritha',89)] #sort by second element of tuple list_students.sort(key = lambda x: x[1]) #index 1 means second element print(list_students)
Выход
[('Saranya', 84), ('Sree', 86), ('Joy', 88), ('Ritha', 89), ('Surya', 92)]
Список кортежей заказывается при увеличении порядка второго элемента в кортежи. Вы можете изменить заказ от увеличения для уменьшения, пройдя Правда для Обратный Параметр сортировки () метода. Или вы также можете использовать список .Reverse () в порядке поощрения.
В следующем примере мы соберем список кортежей в порядке убывания, используя обратный параметр.
Python Program
list_students = [('Saranya',84), ('Surya',92) , ('Joy',88) , ('Sree',86), ('Ritha',89)] #sort by second element of tuple list_students.sort(key = lambda x: x[1], reverse=True) print(list_students)
Выход
[('Surya', 92), ('Ritha', 89), ('Joy', 88), ('Sree', 86), ('Saranya', 84)]
Пример 2: сортировка списка кортежей с использованием алгоритма сортировки пузырьков
Мы возьмем один и тот же список кортежей в приведенном выше примере и сортируете их на основе знаков, как и ранее, но с использованием алгоритма сортировки пузыря.
Python Program
list_ = [('Saranya',84), ('Surya',92) , ('Joy',88) , ('Sree',86), ('Ritha',89)] #sort by second element of tuple ith = 1 list_length = len(list_) for i in range(0, list_length): for j in range(0, list_length-i-1): if (list_[j][ith] > list_[j + 1][ith]): temp = list_[j] list_[j]= list_[j + 1] list_[j + 1]= temp print(list_)
Выход
[('Saranya', 84), ('Sree', 86), ('Joy', 88), ('Ritha', 89), ('Surya', 92)]
В приведенной выше программе it Переменная определяет положение в корзах, с помощью которых должна быть сделана сортировка. Давайте теперь сортируем список кортежей по первому элементу в кортежи.
Python Program
list_ = [('Saranya',84), ('Surya',92) , ('Joy',88) , ('Sree',86), ('Ritha',89)] #sort by second element of tuple ith = 0 list_length = len(list_) for i in range(0, list_length): for j in range(0, list_length-i-1): if (list_[j][ith] > list_[j + 1][ith]): temp = list_[j] list_[j]= list_[j + 1] list_[j + 1]= temp print(list_)
Выход
[('Joy', 88), ('Ritha', 89), ('Saranya', 84), ('Sree', 86), ('Surya', 92)]
Резюме
В этом руководстве примеров Python мы узнали, как сортировать список кортежей, используя встроенные функции и сортировки алгоритмов, с помощью хорошо подробных примеров.
Похожие учебники
- Python Список кортежей
- Список Python Tuple VS