How would I sum a multi-dimensional array in the most succinct python?(如何在最简洁的 python 中对多维数组求和?)
问题描述
最接近的是这个汇总列.
所以我会在我的问题中做类似的事情:
So I'll do something similar in my question:
假设我有一个 Python 2D 列表,如下所示:
Say I've a Python 2D list as below:
my_list = [ [1,2,3,4],
[2,4,5,6] ]
我可以通过列表理解获得行总数:
I can get the row totals with a list comprehension:
row_totals = [ sum(x) for x in my_list ]
如何在一行中求和整个二维数组?
In one line, how can I sum the entire 2d-array?
27
推荐答案
你可以做到这么简单
sum(map(sum, my_list))
或者
sum(sum(x) for x in my_list))
如果您不期望超过 2 个维度,那就收工吧.请注意,由于 map() 的使用,第一个解决方案很可能不是最快的(如执行时间)解决方案.必要时进行基准测试和比较.
and call it a day, if you don't expect more than 2 dimensions. Note that the first solution is most likely not the fastest (as in execution time) solution, due to the usage of map(). Benchmark and compare as necessary.
最后,如果您发现自己使用多维数组,请考虑使用 NumPy 及其优越的数组友好函数.以下是您的问题的简短摘录:
Finally, if you find yourself using multidimensional arrays, consider using NumPy and its superior array-friendly functions. Here's a short excerpt for your problem:
import numpy as np
my_list = np.array([[1,2,3,4], [2,4,5,6]])
np.sum(my_list)
这适用于您的数组可能具有的任意数量的维度.
This would work for any number of dimensions your arrays might have.
这篇关于如何在最简洁的 python 中对多维数组求和?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在最简洁的 python 中对多维数组求和?
基础教程推荐
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
