вывод наиболее частого значения во вложенных в списки словарях 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
→ Ссылка