为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

UYOU 2021-08-14 16:42:26
例子: x = [[1,3,2],[4,5,6],[7,8,9]]我尝试使用:sum(x) / len(x) 但它似乎给了我这个错误(类型错误:+ 不支持的操作数类型:'int' 和 'list')该列表由用户使用命令输入:average_list([]),每个方括号可以包含任意数量的数字。
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

您可以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


查看完整回答
反对 回复 2021-08-14
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

这为您提供了列表列表的平均值以及完整列表的平均值。


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


查看完整回答
反对 回复 2021-08-14
?
长风秋雁

TA贡献1757条经验 获得超7个赞

一个更学术的方法是:


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


#stripping square brackets

elementsString = ''.join( c for c in str(x) if  c not in '[]' )


total = 0

numberOfElements = 0


#converting the string numbers into int

for i in elementsString.split(','):

    #using int but can be also float for example

    i = int(i) 

    numberOfElements += 1

    total += i


average = total/numberOfElements

print(average)


#5.0 is the answer in your case


查看完整回答
反对 回复 2021-08-14
  • 3 回答
  • 0 关注
  • 145 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信