Проблема с многократной сортировкой Python. В алфавитном порядке по убыванию - PullRequest
0 голосов
/ 19 июня 2019

У меня есть список кортежей, в которых каждый элемент подобен следующему: (String, Integer).Я хочу отсортировать список по второму элементу кортежей в порядке возрастания, и если некоторые кортежи имеют одно и то же целое число, я хочу, чтобы они сортировались по первому элементу (String) , но в порядке убывания .Если бы первым элементом было Integer, я бы обычно делал: list.sort(key=lambda x: x[1], -x[0]), но, поскольку это String, я не могу передать лямбду отрицательную строку!

PS: я не могу импортировать любую библиотеку.Спасибо!

1 Ответ

2 голосов
/ 19 июня 2019

Вы можете использовать это:

list.sort(key=lambda x: (-x[1], x[0]), reverse=True)

Лямбда-выражение создаст более высокие значения для элементов, которые вы хотите отсортировать ранее. Затем аргумент reverse отсортирует их по началу списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...