вывод наиболее частого значения во вложенных в списки словарях python
Есть список учеников в нескольких классах, нужно вывести самое частое имя в каждом классе
school_students = [
[ # это – первый класс
{'first_name': 'Вася'},
{'first_name': 'Вася'},
],
[ # это – второй класс
{'first_name': 'Маша'},
{'first_name': 'Маша'},
{'first_name': 'Оля'},
]
]
Пример вывода: Самое частое имя в классе 1: Вася Самое частое имя в классе 2: Маша
Ответы (1 шт):
Автор решения: 5c0rp
→ Ссылка
По сути этот вопрос не особо отличается от вашего предыдущего. Так как вы храните список списков то соответственно поверх всего модно добавить for. Было бы еще хорошо если в бы словаре был ключ который указывает какому классу принадлежат имена. Тогда не нежно добавлять переменную cl либо считать кол-во итераций
from collections import Counter
cl = 1
for item in school_students:
temp = [i['first_name'] for i in item]
c = Counter(temp)
print(f'Самое частое имя в классе {cl}: {c.most_common()[0][0]}')
cl += 1