Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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 如何创建列表矩阵?_Python_Python 3.x - Fatal编程技术网

Python 如何创建列表矩阵?

Python 如何创建列表矩阵?,python,python-3.x,Python,Python 3.x,我需要创建一个矩阵MxN,其中矩阵的每个元素都是一个整数列表。我需要一个列表,这样我可以添加新的元素,因为我去,所以一个三维矩阵将无法在这里工作。 我不确定我在这里需要的是否是一个列表列表。以下函数创建一个空列表的2D矩阵: >>> def create(row,col): ... return [[[] for _ in range(col)] for _ in range(row)] ... >>> L = create(2,3) >>

我需要创建一个矩阵MxN,其中矩阵的每个元素都是一个整数列表。我需要一个列表,这样我可以添加新的元素,因为我去,所以一个三维矩阵将无法在这里工作。
我不确定我在这里需要的是否是一个列表列表。

以下函数创建一个空列表的2D矩阵:

>>> def create(row,col):
...     return [[[] for _ in range(col)] for _ in range(row)]
...
>>> L = create(2,3)
>>> L[1][2].extend([1,2,3]) # add multiple integers at a location
>>> for row in L:
...   print(row)
...
[[], [], []]
[[], [], [1, 2, 3]]
>>> L[0][1].append(1) # add one more integer at a location
>>> for row in L:
...   print(row)
...
[[], [1], []]
[[], [], [1, 2, 3]]
工作原理:

  • []
    是空列表的新实例
  • [[]用于范围内(列)]
    使用列表理解创建“列”空列表列表
  • [[]用于范围内(列)]用于范围内(行)
    创建“行”新的“列”空列表列表

在numpy中,您可以创建dtype=object的矩阵(而不是通常的int或float)。这可以用来存储空列表,然后可以附加到其中。

您是否查看了
numpy
?此列表的用途是什么?为什么你认为3D数组不起作用?我认为3D数组不起作用的原因是因为我必须在程序中的给定位置(M,N)动态添加元素。我已经看了numpy,但我不确定如何处理列表矩阵您可以动态地将元素附加到任何
列表中,因此使用“3D”列表列表应该可以很好地工作。