Рубрики
Без рубрики

Python сортирует список кортежей

Автор оригинала: 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