通过添加到结尾来扩展矩阵中的每一行?

时间:2013-11-20 05:41:06

标签: python matrix

我试图通过在每行的末尾附加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]]

由于

4 个答案:

答案 0 :(得分:1)

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]]

答案 1 :(得分:1)

如果您正在使用此矩阵进行繁重的数值工作,您可能会从使用numpy(基本上是 Python线性algbera库)中受益。如果您的矩阵是一个numpy数组而不是嵌套列表,如下所示:

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

然后你可以使用numpy的hstack函数扩展它:

column_of_ones = np.ones((matrix_1.shape[0], 1))
matrix_2 = np.hstack((matrix_1, column_of_ones))

答案 2 :(得分:0)

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]]

答案 3 :(得分:0)

>>> [i + [1] for i in matrix_1]
[[-4, -2, -3, 1], [-1, -1, 1, 1], [-2, 0, 1, 1]]

只是为了好玩

>>> zip(*zip(*matrix_1) + [(1,) * 3])
[(-4, -2, -3, 1), (-1, -1, 1, 1), (-2, 0, 1, 1)]