下面给出的数据格式:
a = [[0.65, 1148.59, 752.789], [0.65, 46.70, 30.5], ...]
我需要添加第三个位置值,但有很多值。 我的解决方案:
total_values = []
for b in a:
total_values.append(b[2])
# Now find sum(total_values).
我知道这不是一个好习惯。有没有更好的方法直接获得总数,然后再将其带入另一个列表。
答案 0 :(得分:2)
您可以使用生成器表达式:
sum(val[2] for val in a)
答案 1 :(得分:0)
您可以增加sum变量而不是附加到新列表:
total_sum = 0
for b in a:
total_sum += b[2]
答案 2 :(得分:0)
sum(i[2] for i in a)
应该解决这个问题。
<强>输出:强>
783.289 # based on first 2 iteration given
对于mean()
,您需要先将生成器转换回列表:
numpy.mean([i[2] for i in a])