求矩阵对角线之和python
时间: 2024-10-25 19:11:15 浏览: 42
在Python中,求矩阵的对角线之和通常涉及到创建一个新的数组或列表,仅包含主对角线或副对角线的元素,然后计算它们的总和。这里有一个简单的例子:
```python
def sum_diagonal(matrix):
# 确保输入的是二维列表或numpy数组
if not isinstance(matrix, (list, np.ndarray)):
raise ValueError("Input must be a list or numpy array.")
# 获取矩阵的维度
rows = len(matrix)
cols = len(matrix[0]) if rows else 0
# 对角线之和
main_diag_sum = sum(matrix[i][i] for i in range(min(rows, cols)))
if rows > cols: # 如果是方阵,需要处理副对角线
secondary_diag_sum = sum(matrix[i][rows - i - 1] for i in range(min(rows, cols)))
return main_diag_sum + secondary_diag_sum
else:
return main_diag_sum
# 示例
matrix_example = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(sum_diagonal(matrix_example)) # 输出主对角线和,如方阵则同时包括主副对角线
```
在这个函数中,`main_diag_sum`用于计算主对角线的和,如果矩阵是方阵(行数等于列数),还会计算副对角线的和并返回两者之和。
阅读全文