Выдает ошибку Python: TypeError: unhashable type: 'slice'

Выдает ошибку Python: TypeError: unhashable type: 'slice'. Задача такова, надо найти топ-3 ученика с высшим баллом

Входные данные:

students_avg_scores = {'Max': 4.964, 'Eric': 4.962, 'Peter': 4.923, 'Mark': 4.957, 'Julie': 4.95, 'Jimmy': 4.973, 'Felix': 4.937, 'Vasya': 4.911, 'Don': 4.936, 'Zoi': 4.937}

Мой код:

def make_report_about_top3(std):
    std = students_avg_scores
    aa = sorted(dict(std))
    return aa

print(make_report_about_top3(std=students_avg_scores[:4]))

Помогите пожалуйста, что здесь надо исправить?


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

Автор решения: livnev
def make_report_about_top3(students_avg_scores):
   avg = sorted(students_avg_scores.items(), key=lambda x: x[1], reverse=True)[:3]
   dc = dict(avg)

print(make_report_about_top3(students_avg_scores))
→ Ссылка