Top.Mail.Ru
Ответы

Сортировка списков внутри списка

Привет! У меня есть вот такой список списков [['Sergeev', 'Petr', '92'], ['Petrov', 'Vasiliy', '98']]. Как мне отсортировать списки внутри, чтоб они шли по убыванию 2 индекса? В итоге должно быть так [['Petrov', 'Vasiliy', '98'], ['Sergeev', 'Petr', '92']]

По дате
По рейтингу
Аватар пользователя
Ученик
1234567
 Я не копировал код сверху, просто он верный

data = [['Sergeev', 'Petr', '92'], ['Petrov', 'Vasiliy', '98']] 
 
sorted_data = sorted(data, key=lambda x: int(x[2]), reverse=True) 
 
print(sorted_data) 
Аватар пользователя
Просветленный

Можно использовать функцию sorted() с параметром key.
Например:

123
 lst = [['Sergeev', 'Petr', '92'], ['Petrov', 'Vasiliy', '98']] 
sorted_lst = sorted(lst, key=lambda x: int(x[2]), reverse=True) 
print(sorted_lst) 
Аватар пользователя
Мудрец

m = [['Sergeev', 'Petr', '92'], ['Petrov', 'Vasiliy', '98']]
n = list(reversed(sorted(m, key=lambda x: x[2])))
print(n)
>>>
[['Petrov', 'Vasiliy', '98'], ['Sergeev', 'Petr', '92']]