Вычислить среднее значение по колонке в файле

Пытаюсь вычислить среднее значение оценок учеников в каждом факультете и ничего на ум не приходит. Прошу помощи! Python

filename = input('Enter name of file: ')
file = open(filename, 'r')
massive = []
massive1 = []
massive = file.readlines()
for i in massive:
    massive1.append(i.strip().split(','))

#-----Sorting

for i in sorted(massive1, key=lambda ex : (ex[1])):
    print(i)

file.close()

#Конец кода

Это часть кода для 1-й части задания, а как посчитать среднюю оценку каждого факультета(3-й параметр) Вот данные файла с которыми я работал.

Cherkas,2002,FizMat,5
Grigorenko,2002,FizMat,5
Sokil,2001,IstFak,5
Konev,2000,IstFak,3
Pulya,2002,IstFak,4
KiMChenIn,1984,FilFak,2
Onegin,2000,FilFak,4

На экран должно выводить

IstFak: 4
FizMat: 5
FilFak: 3

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

Автор решения: eri

Тут надо стбрать оценки в словарь. defaultdict упрощает

from collections import defaultdict

massive = """Cherkas,2002,FizMat,5
Grigorenko,2002,FizMat,5
Sokil,2001,IstFak,5
Konev,2000,IstFak,3
Pulya,2002,IstFak,4
KiMChenIn,1984,FilFak,2
Onegin,2000,FilFak,4""".splitlines()

massive1 = []
for i in massive:
    massive1.append(i.strip().split(','))
averdict=defaultdict(list)

for i in massive1:
    averdict[i[2]].append(int(i[3]))

for k,v in averdict.items():
    avg = sum(v)/len(v)
    print(k,avg,sep=": ")
→ Ссылка