我正在尝试创建一个函数,该函数将查找2D列表中一列的元素总和,但只能找到一个特定列。我可以找到很多关于如何为列表中的每一列找到总和的示例,但不能找到只给出一个特定列的列。列表必须来自不同的功能。
def sumColumn(matrix, columnIndex):
(No idea what on earth to put here...)
return total
答案 0 :(得分:1)
对于重型矩阵工作,建议使用numpy:
>>> import numpy as np
>>> matrix = [[0, 2, 0],
[0, 1, 0]]
>>> columnIndex = 1 # 1 means the second(middle) column
>>> np.array(matrix)[:, columnIndex].sum()
3
纯Python:
sum(row[columnIndex] for row in matrix)
答案 1 :(得分:0)
Oneliner:
sum_column = lambda l, i: sum(x[i] for x in l)
更具可读性,几乎是英文:
def sum_column(matrix, index):
return sum(line[index] for line in matrix)