我试图在子列表中找到一系列数字的平均值。到目前为止,我有一个代码,它将成功地对同一索引位置的每个数字进行平均,因此:
list_1 = [[1,3,5], [7,4,9], [3,6,2], [5,4,7]]
average = [round(sum(x)/float(len(x)),0) for x in zip(*list_1)]
print (average)
它返回值[4.0,4.0,6.0],即1+7+3+5/4等的平均值
然而,我想要实现的是每组数字的平均值,例如1+3+5/3、7+4+9/3等,以便返回平均值[3.014.010.011.0]。在进入下一个子集之前,我找不到任何能让我枚举每个子集的东西。
感谢
问题是zip()
方法,它正在连接您的所有列表。摆脱它,你的问题就会全部消失。
average = [sum(x)/len(x) for x in list_1]