Поместить вывод цикла в список
Я новичок в Python и столкнулся со следующей проблемой: никак не получается поместить вывод цикла в список для дальнейшего подсчета среднего арифметического значений из вывода. Подскажите, пожалуйста, как можно решить данную проблему. Возможно, есть другой способ с помощью цикла for посчитать среднее арифметическое всех значений ключа scores во всех 4-х словарях
ocenka = [
{'school_class': '4a', 'scores': [1, 3, 5, 3, 2]},
{'school_class': '1a', 'scores': [2, 2, 1, 5, 3]},
{'school_class': '9b', 'scores': [5, 5, 4, 1, 2]},
{'school_class': '6c', 'scores': [5, 5, 5, 5, 2]}
]
for scor in ocenka:
a = (sum(scor['scores'])/len(scor['scores']))
print(a)
Ответы (1 шт):
Автор решения: GrAnd
→ Ссылка
Можно вот так (вычисляем среднее для каждого словаря, создаём из них список, вычисляем среднее по этому списку):
a = [sum(scor['scores'])/len(scor['scores']) for scor in ocenka]
print(sum(a)/len(a))
Или так (собираем scores из всех словарей в один большой список и вычисляем среднее):
a = sum((scor['scores'] for scor in ocenka), [])
print(sum(a)/len(a))