首页 > 解决方案 > 如何创建列表矩阵?

问题描述

我需要创建一个矩阵 MxN,其中矩阵的每个元素都是整数列表。我需要一个列表,以便我可以随时添加新元素,因此 3D 矩阵在这里不起作用。我不确定我在这里需要的是否实际上是一个列表列表。

标签: pythonpython-3.x

解决方案


以下函数创建一个空列表的二维矩阵:

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

这个怎么运作:

  • []是一个空列表的新实例。
  • [[] for _ in range(col)]使用列表推导来创建“col”空列表的列表。
  • [[] for _ in range(col)] for _ in range(row)创建“列”空列表的“行”新列表。

推荐阅读