python构建一个任意矩阵相乘函数代码,不用numpy
时间: 2024-10-13 11:13:35 浏览: 39
当然可以,我们可以使用Python的基本列表推导和嵌套循环来构建一个简单的矩阵相乘函数。下面是一个示例,它实现了两个二维矩阵的乘法:
```python
def matrix_multiply(matrix1, matrix2):
# 检查输入是否是二维列表,并确保它们可以相乘
if not (isinstance(matrix1, list) and isinstance(matrix2, list)):
raise ValueError("Both inputs must be lists of lists.")
row1, col1 = len(matrix1), len(matrix1[0])
row2, col2 = len(matrix2), len(matrix2[0])
# 确保第一个矩阵的列数等于第二个矩阵的行数
if col1 != row2:
raise ValueError("The number of columns in the first matrix must match the number of rows in the second matrix.")
# 初始化结果矩阵,所有元素都是0
result = [[0] * col2 for _ in range(row1)]
# 计算矩阵乘积
for i in range(row1):
for j in range(col2):
for k in range(col1): # 这里是计算每个元素的乘积和累加过程
result[i][j] += matrix1[i][k] * matrix2[k][j]
return result
# 示例使用
matrix1 = [[1, 2], [3, 4]]
matrix2 = [[5, 6], [7, 8]]
result = matrix_multiply(matrix1, matrix2)
print(result) # 输出:[[19, 22], [43, 50]]
阅读全文