python
У вас есть собранные данные по входам пользователей системы собранные в виде словаря, требуется найти 3 имени пользователя которые чаще всего входили в систему. Для поиска необходимо написать функцию возвращающую список имен.
users = {'John':500, 'Sam':5874, 'Dave': 560,'Cat':400, 'Jack':5874, 'Michael': 20}.
Answers & Comments
Ответ:
def Most_online(users_list: dict) -> list:
sort_users = sorted(users_list.items(), key=lambda i: i[1], reverse=True)[:3]
res = [i[0] for i in sort_users]
return res
users = {'John':500, 'Sam':5874, 'Dave': 560,'Cat':400, 'Jack':5874, 'Michael': 20}.
most_online = Mosr_online(users)
# в объект most_online записывается отсортированный список
print(most_online)
Объяснение:
Создал функцию, которая принимает в себя словарь. Создается отсортированный список первых трех людей(число входов в систему самое большое). Я это сделал, отсортировав список по значению с помощью sort() в обратном порядке(от большего к меньшему). затем прохожусь по этому списку и записываю в результат в список.
users = {'John':500, 'Sam':5874, 'Dave': 560,'Cat':400, 'Jack':5874, 'Michael': 20}.
most_online = Mosr_online(users)