Рубрики

Python | Обратная строка сортировки

Иногда, участвуя в конкурентном тесте по программированию, мы можем столкнуться с проблемой, при которой нам необходимо отсортировать пару в противоположных порядках по индексам. Эта статья посвящена решению проблемы, в которой нам нужно отсортировать число в порядке убывания, а затем строку в порядке возрастания. Это тип проблемы, которая часто встречается при сортировке пар. Давайте обсудим, как это можно решить.

Метод: использование sorted() + лямбда
Комбинация этих функций может быть использована для выполнения этой задачи. В них мы передаем лямбда-функции отрицательные значения, чтобы возрастающий порядок чисел оценивался как убывающий и, следовательно, успешный взлом для выполнения этой задачи.

# Python3 код для демонстрации работы
# Строка обратной сортировки, список целочисленных кортежей
# Использование sorted () + лямбда

  
# инициализирующий список

test_list = [("Geeks", 5), ("For", 3), ("Geeks", 6), ("Is", 5), 

             ("Best", 7 ), ("For", 5), ("CS", 3)]

  
# печать оригинального списка

print("The original list is : " + str(test_list))

  
# Строка обратной сортировки, список целочисленных кортежей
# Использование sorted () + лямбда

res = sorted(test_list, key = lambda sub: (-sub[1], sub[0]))

  
# результат печати

print("The list after inverse sorted tuple elements : " + str(res))

Выход :

The original list is : [(‘Geeks’, 5), (‘For’, 3), (‘Geeks’, 6), (‘Is’, 5), (‘Best’, 7), (‘For’, 5), (‘CS’, 3)]
The list after inverse sorted tuple elements : [(‘Best’, 7), (‘Geeks’, 6), (‘For’, 5), (‘Geeks’, 5), (‘Is’, 5), (‘CS’, 3), (‘For’, 3)]

Рекомендуемые посты:

Python | Обратная строка сортировки

0.00 (0%) 0 votes