【问题标题】:Best way to find the sum of a column in a multi-dimensional array in python? [duplicate]在python中查找多维数组中列总和的最佳方法? [复制]
【发布时间】:2014-08-23 16:15:59
【问题描述】:

我以元组数组的形式从 SQL 查询中获取输出。数组看起来像这样-

(1, 100)
(2, 150)
(3, 200)

我想分别求各列的总和。因此,我想为第 1 列获取值 1+2+3= 6,并为第 2 列获取值 100+150+200= 450。

当我使用内置 var1=sum(arr[0]) 时,我得到 101,这是第一个 row 而不是 column 的总和。

如何以最简单的方式将第一列相加?

【问题讨论】:

    标签: python arrays


    【解决方案1】:

    您可以使用ziplist comprehension

    >>> lst = [
    ...     (1, 100),
    ...     (2, 150),
    ...     (3, 200)
    ... ]
    >>> list(zip(*lst))  # zip(*lst) groups the items that you want to sum
    [(1, 2, 3), (100, 150, 200)]
    >>>
    >>> [sum(x) for x in zip(*lst)]
    [6, 450]
    >>>
    

    【讨论】:

    • 你能解释一下*的用法吗?
    • 它将lst 中的项目解包为zip 的参数。在这种情况下,zip(*lst)zip((1, 100), (2, 150), (3, 200)) 的缩写
    猜你喜欢
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 2013-05-10
    • 2010-09-13
    • 1970-01-01
    • 2020-05-13
    • 2021-03-27
    • 1970-01-01
    相关资源
    最近更新 更多