如何构建5x5矩阵?

时间:2015-05-04 01:12:14

标签: python matrix

如何构建一个包含5行和5列的矩阵?

lst = [1,2,3,4,5]

[[float("inf")]*len(lst) for k in range (len(lst))]

给了我[[inf, inf, inf, inf, inf], [inf, inf, inf, inf, inf], [inf, inf, inf, inf, inf], [inf, inf, inf, inf, inf], [inf, inf, inf, inf, inf]]

如何更改参数以便获得5x5矩阵?

2 个答案:

答案 0 :(得分:3)

我不确定你为什么使用lst变量,但你需要的是接近这个的东西:

def matrix(x,y,initial):
    return [[initial for i in range(x)] for j in range(y)]

给出了:

> print matrix(5,5,float('inf'))
[[inf, inf, inf, inf, inf], [inf, inf, inf, inf, inf], [inf, inf, inf, inf, inf], [inf, inf, inf, inf, inf], [inf, inf, inf, inf, inf]]

> my_matrix = matrix(2,2,0)
> print my_matrix
[[0, 0], [0, 0]]
> my_matrix[0][2] = 2
> print my_matrix
[[0, 2], [0, 0]]

大多数语言中的矩阵只是一组嵌套数组。如果您需要更多内容,可能需要创建自定义类。

答案 1 :(得分:0)

你已经 的是一个5x5矩阵。只表示为行列表。如果你想要的东西"看起来"像矩阵一样,也许你会喜欢numpy:

>>> import numpy as np
>>> np.full((5, 5), np.inf)
array([[ inf,  inf,  inf,  inf,  inf],
       [ inf,  inf,  inf,  inf,  inf],
       [ inf,  inf,  inf,  inf,  inf],
       [ inf,  inf,  inf,  inf,  inf],
       [ inf,  inf,  inf,  inf,  inf]])