📜  Python - 矩阵中第 k 列的总和(1)

📅  最后修改于: 2023-12-03 14:45:54.834000             🧑  作者: Mango

Python - 矩阵中第 k 列的总和

在矩阵中找到第 k 列的总和是一项很常见的任务。其基本思路是对于矩阵中每一行的第 k 个元素进行求和,并返回总和。在使用 Python 编程时,可以利用列表推导式、NumPy 数组等工具来实现这一任务。

解法一:列表推导式
思路

使用列表推导式遍历矩阵中的每一行,在每行中找到第 k 个元素并将其加入列表中,最后将列表元素求和得到第 k 列的总和。

代码片段
def column_sum(matrix, k):
    return sum(row[k] for row in matrix)
示例
>>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> column_sum(matrix, 0)
12
>>> column_sum(matrix, 1)
15
>>> column_sum(matrix, 2)
18
解法二:NumPy 数组
思路

使用 NumPy 数组在矩阵的第二个维度上进行索引,找到对应的列并对其求和。

代码片段
import numpy as np

def column_sum(matrix, k):
    arr = np.array(matrix)
    return arr[:, k].sum()
示例
>>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> column_sum(matrix, 0)
12
>>> column_sum(matrix, 1)
15
>>> column_sum(matrix, 2)
18
总结

以上两种方法均可用于在 Python 中查找矩阵中的第 k 列的总和。如果矩阵规模较小,使用列表推导式可能更为简便,而对于较大的矩阵来说,则使用 NumPy 数组可以实现更高效的处理。