在不使用numpy的情况下,在Python中构造基数为1000(行)x 10(列)的零值矩阵的最简单方法是什么? (只是标准库)
另外,如果我得到一个包含10个元素的值列表。说a=[1 2 3 ... 10]
,我想用这个列表a
覆盖零行矩阵的第一行。我该怎么做呢。
非常感谢。
PS:
我想使用普通的python列表而不是numpy来构造矩阵的原因是因为需要这个赋值,它不允许除python标准库之外的任何外部库。
答案 0 :(得分:5)
你可以这样做:
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]]
整栏都会改变。因此,只有在不需要元素才能独立更改时,才应使用此方法。