嗨,我一直在尝试使用sum / length获得每个子列表的平均值。
vectors = [[2.731018, 1.7550012, 2.3455532],
[2.9210236, 3.2172325],
[2.9255183, 2.66712, 2.7174947]]
mean_vec = [sum(i)/len(i) for i in vectors]
当前我正在使用上面的代码,但是系统提示我此错误消息:
ZeroDivisionError: division by zero
上面的列表只是一个示例。我有一个更大的数字列表。请给我建议我应该如何解决这个问题
答案 0 :(得分:2)
您提供的代码mean_vec = [sum(i)/len(i) for i in vectors]
在某些情况下可能会失败
[]
#一个空列表请在代码中添加len(i) != 0
,如下所示
mean_vec = [sum(i)/len(i) for i in vectors if len(i) != 0]