Я действительно новичок в Python, и я пытаюсь найти среднее значение списка списков. У меня есть список списков чисел с плавающей запятой, которые указывают оценки курсов за семестр, и выглядит так:
mylist = [[[2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0]], [[2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0], [2.67, 2.67, 2.0, 2.0]]]
Что я хочу сделать, так это найти среднее значение каждого подсписка и снова поместить его в подсписок, чтобы упростить доступ к нему. Например, я хочу следующее:
myaverage= [[[2.335],[2.335],[2.335],...]]]
Это не те же числа, что и в той части списка, которую я вам показываю. Я пытался сделать это:
for s in mylist: # for each list
gpa = sum(s) / len(s)
allGPA.append(gpa)
for x in s: # for each sublist
x_ = x if type(x) is list else [x]
myaverage.append(sum(x_) / float(len(x_)))
но я получаю эту ошибку:
gpa = sum(s) / len(s) TypeError: неподдерживаемый тип(ы) операнда для +: 'int' и 'list'
Я не могу понять, является ли мой подход совершенно неправильным или я неправильно перебираю список.