Конструкция кажется слишком перегруженной. Как лучше упростить?

    interns = [
              (lambda x: (-int(x[1]), int(x[2]), x[0]))
              (input().split()) for _ in range(number)
    ]

Формат ввода В первой строке задано число участников n, 1 ≤ n ≤ 100 000. В каждой из следующих n строк задана информация про одного из участников. i-й участник описывается тремя параметрами:

уникальным логином (строкой из маленьких латинских букв длиной не более 20) числом решённых задач Pi штрафом Fi Fi и Pi — целые числа, лежащие в диапазоне от 0 до 109. Формат вывода Для отсортированного списка участников выведите по порядку их логины по одному в строке.

Пример 1 Ввод

5
alla 4 100
gena 6 1000
gosha 2 90
rita 2 90
timofey 4 80

Вывод:

gena
timofey
alla
gosha
rita

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

Автор решения: Stanislav Volodarskiy

Сделайте функцию для чтения:

def input_record():
    t0, t1, t2 = input().split()
    return -int(t1), int(t2), t0


interns = [input_record() for _ in range(number)]
→ Ссылка