在嵌套列表的某个位置添加值的更好方法是什么?

时间:2018-01-12 22:27:46

标签: python list nested

下面给出的数据格式:

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).

我知道这不是一个好习惯。有没有更好的方法直接获得总数,然后再将其带入另一个列表。

3 个答案:

答案 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])