gpt4 book ai didi

python - 在 Python 中构建二维数组

转载 作者:太空狗 更新时间:2023-10-30 02:12:13 24 4
gpt4 key购买 nike

<分区>

我在 Python 中构建了一个二维向量,因为一开始我希望它全为零,并且不想使用 numpy,所以我尝试了这个:

columns = 8
rows = 5
m = [[0]* (columns)] * (rows)
m[3][2] = 1
print m

我得到了一个意想不到的行为:

>> [[0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0]]

它看起来像这样构建二维数组,使每一行成为对单个行的引用,因此如果写入其中任何一个,你就是在覆盖所有这些。

也许这对你们中的一些人来说听起来很明显,但我有点震惊。当然,我可以使用不同的方法修复它,但我很好奇为什么会这样。

谁能解释一下?如果您使用 [0] * size_of_array 构建一个简单数组,为什么这不会发生?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com