Форум сайта python.su
0
Нужно выводить рейтинг таксиста по убыванию средней оценки таксиста В случае совпадения средних оценок расположить таксистов нужно отсортировать имена таксистов по алфавиту , у меня в коде стоит
reverse=True
d ={} while True: x = input().split(',') if x[0] == 'конец': break d.setdefault(x[0], []).append(int(x[1])) [print(k, sum(v) / len(v)) for k,v in sorted(d.items(), key=lambda x: (sum(x[1])/len(x[1]), x[0]), reverse=True)]
Отредактировано Meacronacer (Авг. 28, 2021 19:20:33)
Офлайн
857
>>> dct = { ... 'Билл': 4.0, ... 'Джим': 2.5, ... 'Джек': 2.5 ... } >>> >>> dct {'Билл': 4.0, 'Джим': 2.5, 'Джек': 2.5} >>> >>> out = dict(sorted(dct.items(), key=lambda i: (i[1], i[0]))) >>> out {'Джек': 2.5, 'Джим': 2.5, 'Билл': 4.0} >>>
Отредактировано py.user.next (Авг. 29, 2021 05:06:13)
Офлайн