Сортировка списка по последнему столбцу python

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

data = [[6, 5, 4], [3, 2], [1]]
key = lambda x: x
res = [[1], [2, 3], [4, 5, 6]]

Ответы (1 шт):

Автор решения: n1tr0xs

Вот так можно сделать:

new_data1 = [sorted(i, key=key) for i in data] # сортировка внутренних списков 
new_data2 = sorted(new_data1, key=key) # сортировка главного списка

В одну строку можно так:

new_data = sorted([sorted(i, key=key) for i in data], key=key)
→ Ссылка