Как отсортировать входные данные
Входные данные:
4
200 50
203 50
202 50
300 65
На выходе должно получится
300 65
200 50
202 50
203 50
Мой ответ
300 65
200 50
203 50
202 50
Итог я смог сделать сортировку по баллам но как сделать по номеру?
def M(m):
for b in m:
print (*b)
N = int(input())
if N >=1 and N <= 1000:
NM = []
for i in range(N):
NM.append(list(map(int, input().split())))
NM.sort(key = lambda x: x[1], reverse=True)
M(NM)
def M(m):
for b in m:
print(*b)
Ответы (1 шт):
Автор решения: Roman Konoval
→ Ссылка
Сейчас у вас сортируется только по второму элементу, т.е. по баллам, а номер никак не учитывается.
Нужно добавить номеру в ключ вторым элементом в кортеж, так при равных баллах, сортировка будет делаться по номеру. Чтоб это делалось в порядке возрастания, нужно номер добавлять со знаком минус, так как для сортировки по баллам по убыванию используется reverse=True:
...
NM.sort(key = lambda x: (x[1], -x[0]), reverse=True)
...