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

来自任意数量的嵌套列表的元素的平均值

来自任意数量的嵌套列表的元素的平均值

ABOUTYOU 2022-12-20 14:29:55
如果我有一个列表,请说:foo =  [[4, 6, 2, 7], [1.2, 8.3, 9, 16]]我可以得到每个元素的平均值,如下所示:[(a + b) / 2 for a, b in zip(foo[0], foo[1])]要么import statistics [statistics.mean(i) for i in zip(foo[0], foo[1])]我怎样才能对任意数量的嵌套列表做同样的事情foo?我尝试了几件事,但它们不起作用,例如:[statistics.mean(i) for i in zip(list(foo))]我强烈希望只使用理解。
查看完整描述

3 回答

?
Smart猫小萌

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

下面的代码应该做的工作:

[sum(i)/len(i) for i in zip(*foo)]


查看完整回答
反对 回复 2022-12-20
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

如果您不想使用任何包:


[statistics.mean([foo[j][i] for j in range(len(foo))]) for i in range(len(foo[0]))]

有了numpy它就会


import numpy as np

arr = np.array(foo)

means = np.mean(arr,axis=0)

编辑


没有任何包裹:


[sum([foo[j][i] for j in range(len(foo))])/len(foo) for i in range(len(foo[0]))]


查看完整回答
反对 回复 2022-12-20
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

试试这个:


import statistics

foo =  [[4, 6, 2, 7], [1.2, 8.3, 9, 16]]

x = [statistics.mean(i) for i in zip(*foo)]

print(x)


查看完整回答
反对 回复 2022-12-20
  • 3 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

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