Как отсортировать значения по столбцу массива, не используя pandas?
Допустим, есть массив:
[[8, 7, 5],
[2, 3, 1],
[6, 9, 4]]
Какой код надо написать, чтобы на выходе был массив (отсортированный по 1-му столбцу):?
[[2, 3, 1],
[6, 9, 4],
[8, 7, 5]]
Если значения в первом столбце бы совпадали, то их бы надо было отсортировать по второму столбцу.
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Как ни странно:
a = [[8, 7, 5], [2, 3, 1], [6, 9, 4], [2,1,5]]
a.sort()
print(a)
>>[[2, 1, 5], [2, 3, 1], [6, 9, 4], [8, 7, 5]]
Структурные данные сравниваются по умолчанию по первому элементу, при равенстве - по второму и т.д.
Если второй столбец должен быть ключом:
a.sort(key = lambda x:x[1])
>> [[2, 1, 5], [2, 3, 1], [8, 7, 5], [6, 9, 4]]