使用zip求数组值的总和

3 投票
1 回答
2733 浏览
提问于 2025-04-18 02:07

我有一个数组,里面又包含了很多数组。
我想要把某个特定的字段(比如说列表中的第三个)加起来。

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

虽然这样会更浪费内存

撰写回答