Python 在没有numpy的情况下,如何按列对列表中的所有数字求和?
所以在Python NumPy中,我有一个列表,从0到99除以5:Python 在没有numpy的情况下,如何按列对列表中的所有数字求和?,python,list,Python,List,所以在Python NumPy中,我有一个列表,从0到99除以5: array_b = np.arange(0,100).reshape(5, 20) list_a = array_b.tolist() 我想按列添加列表中的数字,这样结果将是: [200 205 210 215 220 225 230 235 240 245 250 255 260 265 270 275 280 285 290 295] 我知道如何在数组版本中执行此操作,但我想在列表版本中执行相同的操作(不使用np.sum
array_b = np.arange(0,100).reshape(5, 20)
list_a = array_b.tolist()
我想按列添加列表中的数字,这样结果将是:
[200 205 210 215 220 225 230 235 240 245 250 255 260 265 270 275 280 285 290 295]
我知道如何在数组版本中执行此操作,但我想在列表版本中执行相同的操作(不使用np.sum(array_b,axis=0))。 有什么帮助吗?在
numpy
数组上使用.sum(axis=0)
import numpy as np
result = np.array(values).sum(axis=0)
# [200 205 210 215 220 225 230 235 240 245 250 255 260 265 270 275 280 285 290 295]
使用其他
轴
可能性
result = np.array(values).sum(axis=1) # [ 190 590 990 1390 1790]
result = np.array(values).sum() # 4950
将numpy导入为np
a=[…]]
求和数组=np.求和(a,轴=0)
如果不使用numpy,则可以非常优雅地使用:
list(map(sum, zip(*list_a)))
说明:
按元素聚合列表zip(*list_a)
告诉您在每个聚合上应用map(sum,…)
sum
- 最后,
只需将list(…)
返回的迭代器解压缩到一个列表中map
简单如(num)py…您将如何手动完成此操作?首先用单词写出步骤,然后试着将这些单词翻译成code.numpy.sum(数组,axis=0)我想可以。你的标题提到numpy,但你的问题显示了列表列表。你能澄清一下,并为你目前的尝试添加一些代码吗?对不起!我澄清了这个问题。我正在考虑取出每个列表的索引[0]并将其相加,然后将其放入一个新列表并继续,但效果不太好。我知道如何在数组版本中执行此操作,但我想对列表执行相同的操作。是否有其他方法使用while循环?@Sun您可以使用循环来执行此操作!使用
while
循环,这当然是可能的,但我建议使用for
循环while
-如果要重复计算条件并循环,则循环非常有用,只要条件为真。在你的例子中,你确切地知道你的列表有多长,因此你已经知道从一开始你想要循环多少次。这是一个for
循环的例子!