这里有一段我的剧本。这应该做的是打开一个矩阵(在文件matrix_seeds_to_all_targets中)并汇总每列中的所有元素(最后我应该得到一个1xN数组)。我得到的是一个错误:AttributeError:' list'对象没有属性' sum'。能否请您对此有任何见解?
self.navigationItem.titleView = titleButton;
答案 0 :(得分:0)
正如消息所示:列表没有名为sum
的方法。目前尚不清楚你在这条线上想做什么,所以不能比那更有帮助。
答案 1 :(得分:0)
您可以使用numpy而不是尝试对列表求和:
import numpy as np
matrix = np.random.randint(0, 100, (3, 6)) //read in your matrix file here
newMatrix = np.sum(matrix, axis=0)
print newMatrix
会给你类似的东西:
[168 51 23 115 208 54]
如果没有numpy,你将不得不使用像列表理解这样的东西来浏览"列"在你的列表中总结它们。 Python的列表总和适用于列表,如果你有1)矩阵和2)想要对列进行求和,那么它不是你所拥有的
答案 2 :(得分:0)
我认为指令l.sum()
是错误的。用于对列表求和的函数是sum
,必须像在此示例中一样使用:
myList = [1, 2, 3]
sum(myList) # will return 6
myList.sum() # will throw an error
如果要选择给定列,可以使用列表推导:[row[columnID] for row in A]
因此,例如,该代码将对名为l的2D数组的不同行求和。
numCols = len(l[0])
result = []
for i in range(numCols)
result.append(sum([row[i] for row in l]))
print(result)
在您的代码中似乎还有一个返回后的打印件。我认为它永远不会执行;)