我如何在最简洁的python中求和多维数组?

发布于 2021-01-29 14:55:17

最接近的是这一列的求和

因此,我将在问题中执行类似的操作:

假设我有一个Python 2D列表,如下所示:

my_list =  [ [1,2,3,4],
             [2,4,5,6] ]

我可以通过列表理解获得行总数:

row_totals = [ sum(x) for x in my_list ]

在一行中,我如何求和整个二维数组?

27
关注者
0
被浏览
116
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以轻松完成

    sum(map(sum, my_list))
    

    或者

    sum(sum(x) for x in my_list))
    

    如果您不希望尺寸超过2个维度,则将其命名为“一天”。请注意,由于使用,第一个解决方案很可能不是最快的解决方案(在执行时)map()。进行基准测试并根据需要进行比较。

    最后,如果发现自己使用了多维数组,请考虑使用NumPy及其出色的数组友好功能。这是您的问题的简短摘录:

    import numpy as np
    
    my_list = np.array([[1,2,3,4], [2,4,5,6]])
    np.sum(my_list)
    

    这将适用于数组可能具有的任意数量的维度。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看