使用zip求数组值的总和
我有一个数组,里面又包含了很多数组。
我想要把某个特定的字段(比如说列表中的第三个)加起来。
data = [[d, 408.56087701, 87.26907024],
[b, 277.95015117, 75.19386881],
[b, 385.41416264, 84.73488504],
[b, 380.31630662, 71.23504808],
[b, 392.10729207, 83.80720357],
[b, 399.70877373, 76.59640833],
[b, 350.93124656, 79.34979059],
[b, 330.09702335, 79.37166555]]
我正在尝试这样做,但遇到问题,因为我只想选择列表中的第三个(第一个字段是字符串)。
data = [sum(x) for x in zip(*data)]
我需要加一个条件,以确保只显示子列表中的第三个。
1 个回答
4
the_sum = sum(x[2] for x in data)
或者如果你在想,为什么一开始觉得 zip(*...)
是个好主意:
the_sum = sum(zip(*data)[2])
虽然这样会更浪费内存