l = [['Alex',12],['John',14],['Ross',24],['Alex',42],['John',24],['Alex',45]]
score_dict = {}
for l_score in l:
name = l_score[0]
score = l_score[1]
if name in score_dict.keys():
score_dict[name].append(score)
else:
score_dict[name] = [score]
ret_list = []
for k, v in score_dict.items():
sum_l = sum(v)
len_l = len(v)
if len_l > 0:
avg = float(sum_l)/float(len_l)
else:
avg = 0
ret_list.append([k,avg])
print(ret_list)
Cette opération devrait permettre d'obtenir la liste suivante :
[['Ross', 24.0], ['Alex', 33.0], ['John', 19.0]]
Je n'ai pas utilisé de package car il n'y avait pas d'importation dans votre exemple de code. Il peut être simplifié avec numpy ou pandas