Сортировка списка по первому элементу
Дан вложенный список, содержащий целые числа. Необходимо отсортировать все строки списка с помощью заданного ключа, а затем переставить строки таким образом, чтобы первые элементы были отсортированы с помощью заданного ключа в обратном порядке. Ключ key передается в функцию.
data = [[1], [3, 2], [6, 5, 4]]
key = lambda x: x
res = [[4, 5, 6], [2, 3], [1]]
Ответы (1 шт):
Автор решения: n1tr0xs
→ Ссылка
Вот так можно сделать:
new_data1 = [sorted(i, key=key) for i in data] # сортировка внутренних списков
new_data2 = sorted(new_data1, key=key, reverse=True) # сортировка главного списка
В одну строку можно так:
new_data = sorted([sorted(i, key=key) for i in data], key=key, reverse=True)