使用zip的数组求和值

时间:2014-04-09 22:59:35

标签: python

我有这种方式的数组。 我想总结一个特定的fild(如列表中的第3个)

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

我正在尝试这个,但它产生问题,因为我必须在列表中仅选择第3个(第一个字段是字符串)

data = [sum(x) for x in zip(*data)]

我必须添加条件以显示x在子列表中是第三个。

1 个答案:

答案 0 :(得分:4)

the_sum = sum(x[2] for x in data)

或者如果您想知道为什么{J}首先认为zip(*...)似乎是一个好主意:

the_sum = sum(zip(*data)[2])

虽然这更浪费内存