用于构建矩阵的标准 python 库
standard python library to construct matrix
在不使用 numpy 的情况下,在 Python 中构建基数为 1000(行)x 10(列)的零点矩阵的最简单方法是什么? (只是标准库)
另外,如果我得到一个包含 10 个元素的值列表。说 a=[1 2 3 ... 10]
,我想用这个列表 a
覆盖零矩阵的第一行。我该怎么做。
非常感谢。
PS:
我想使用普通的 python 列表而不是 numpy 来构造矩阵的原因是因为这个赋值的要求,它不允许任何其他外部库比 python 标准库。
你可以这样做:
m = [[0 for _ in range(10)] for _ in range(1000)]
m[0] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
请注意,如果您使用:
>>> matrix = 3*[3*[0]]
>>> matrix
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
改变一个元素后:
>>> matrix[0][0] = 1
>>> matrix
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
整列都会改变。因此,仅当您不需要元素能够独立更改时才应使用此方法。
在不使用 numpy 的情况下,在 Python 中构建基数为 1000(行)x 10(列)的零点矩阵的最简单方法是什么? (只是标准库)
另外,如果我得到一个包含 10 个元素的值列表。说 a=[1 2 3 ... 10]
,我想用这个列表 a
覆盖零矩阵的第一行。我该怎么做。
非常感谢。
PS:
我想使用普通的 python 列表而不是 numpy 来构造矩阵的原因是因为这个赋值的要求,它不允许任何其他外部库比 python 标准库。
你可以这样做:
m = [[0 for _ in range(10)] for _ in range(1000)]
m[0] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
请注意,如果您使用:
>>> matrix = 3*[3*[0]]
>>> matrix
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
改变一个元素后:
>>> matrix[0][0] = 1
>>> matrix
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
整列都会改变。因此,仅当您不需要元素能够独立更改时才应使用此方法。