Сортировка двумерного списка

Извините за глупый вопрос, но я не очень хорош в сортировке. У меня есть двумерный массив, например:

[[John,3],[Nick,8],[Jane,5],[Bob,15]]

Как я могу получить на выходе массив, в таком же виде, но отсортированные по числу от большего к меньшему массивы? Тоесть на выходе я хочу получить следующее:

[[Bob,15],[Nick,8],[Jane,5],[John,3]]

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

Автор решения: 4500zenja

Для этого используем стандартную функцию сортировку списков sort(reverse, key), но при этом в аргументы вставляем следующие значения:

  • reverse=True — возвращает список в обратном порядке (т.е. с большего к меньшему);
  • key=lambda x: x[1] — тут мы используем анонимную функцию (или лямбда-функцию), которая передаёт функции сортировки значение, по которому нужно проводить проверку. lambda x означает x как элемент исходного списка, после двоеточия берётся элемент, по которому и будет происходить сортировка: x[1].
lst = [['John',3],['Nick',8],['Jane',5],['Bob',15]]

lst.sort(reverse=True, key=lambda x: x[1])
→ Ссылка