Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何构造5x5矩阵?_Python_Matrix - Fatal编程技术网

Python 如何构造5x5矩阵?

Python 如何构造5x5矩阵?,python,matrix,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] 如何更改参数以获得5x5矩阵?我不确定您为什么要使用lst变量,但您需要的是接近这一点的东西: def mat

如何构造一个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]


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

我不确定您为什么要使用
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]]
在大多数语言中,矩阵只是一组嵌套数组。如果您需要更多的东西,您可能需要创建一个自定义类。

您已经拥有的是一个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]])

你想在这里干什么?您想要一个可以访问
matrix[row][column]
以从中获取元素的矩阵吗?您想用一些信息填充矩阵吗?现在你已经有了嵌套列表,这样你就可以使用
矩阵[行][列]
(取决于你如何看待它)来访问里面的元素(并检索特定的“inf”)来访问特定的元素,它只是在一行中打印出来。我试图说明为什么它们不需要使用
范围(len(lst))
以及如何访问“矩阵”中的元素。