Сортировка двумерного списка на python с приоритетом
Есть двумерный массив чисел(причём размер вложенного списка равен двум, всегда) я хочу отсортировать его по меньшему из первого во вложенном списке и большему из второго во вложенном списке. Примеры:
1.[[1,4],[3,6],[2,8]] -> [[1,4],[2,8],[3,6]]. То есть приоритетным является первый ключ, а при их равенстве больший второй ключ определяет кто будет стоять первым в отсортированном списке
2. [[1,3],[1,4],[1,1],[2,5]] -> [[1,4],[1,3],[1,1],[2,5]]
Ответы (1 шт):
Автор решения: RomanR
→ Ссылка
Сортирует от меньшего к большему, но для сортировки вторых элементов в обратном порядке, меняем их знак. Соответственно самый большой, станет самым маленьким и наоборот.
lst = [[1, 4], [3, 6], [2, 8]]
lst.sort(key=lambda a: (a[0], -a[1]))
print(lst)