在矩阵的每一行的末尾加上?

2024-05-01 21:46:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过在每行末尾加1来增加矩阵中行的长度。你知道吗

matrix_1 = [[-4, -2, -3],[-1, -1, 1],[-2, 0, 1]]

我需要输出为:

matrix_2 = [[-4,-2,-3,1],[-1,-1,1,1],[-2,0,1,1]]

谢谢


Tags: 矩阵matrix末尾
3条回答
matrix_1 = [[-4, -2, -3],[-1, -1, 1],[-2, 0, 1]]
def add_one(L, V):
    return [X + [V] for X in L]
print(add_one(matrix_1, 1))

输出为:

[[-4, -2, -3, 1], [-1, -1, 1, 1], [-2, 0, 1, 1]]

如果您对这个矩阵进行大量的数值计算,那么使用numpy(基本上是Python线性algbera库)可能会对您有所帮助。如果矩阵是numpy数组而不是嵌套列表,如下所示:

import numpy as np
matrix_1 = np.array([[-4, -2, -3],[-1, -1, 1],[-2, 0, 1]])

然后可以使用numpy的^{}函数展开它:

column_of_ones = np.ones((matrix_1.shape[0], 1))
matrix_2 = np.hstack((matrix_1, column_of_ones))
matrix_1 = [[-4, -2, -3],[-1, -1, 1],[-2, 0, 1]]
for i in matrix_1:
    i.append(1)

输出

[[-4, -2, -3, 1], [-1, -1, 1, 1], [-2, 0, 1, 1]]

相关问题 更多 >