如何找到具有多个单元格的列表的平均值?

例子: x = [[1,3,2],[4,5,6],[7,8,9]]

我尝试使用:

sum(x) / len(x) 但它似乎给了我这个错误

(类型错误:+ 不支持的操作数类型:'int' 和 'list')

该列表由用户使用命令输入:average_list([]),每个方括号可以包含任意数量的数字。


UYOU
浏览 146回答 3
3回答

一只斗牛犬

您可以sum计算内部列表的总和:x = [[1,3,2],[4,5,6],[7,8,9]]s = sum(sum(a) for a in x)l = sum(len(a) for a in x)print(s / l) # 5.0

人到中年有点甜

这为您提供了列表列表的平均值以及完整列表的平均值。x = [[1,3,2],[4,5,6],[7,8,9]]new_list = [sum(l)/len(l) for l in x]print(sum(new_list)/len(new_list))输出:5.0

长风秋雁

一个更学术的方法是:x = [[1,3,2],[4,5,6],[7,8,9]]#stripping square bracketselementsString = ''.join( c for c in str(x) if  c not in '[]' )total = 0numberOfElements = 0#converting the string numbers into intfor i in elementsString.split(','):    #using int but can be also float for example    i = int(i)     numberOfElements += 1    total += iaverage = total/numberOfElementsprint(average)#5.0 is the answer in your case
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python