【发布时间】:2021-11-29 05:03:25
【问题描述】:
假设,我有一个二维列表/数组,其中包含 50 个子数组,看起来像 [0, 0]。我只想更改数组的某些部分,例如每个子数组的第一个元素从索引 15 到 29。我使用 for 循环来执行此操作。
array = [[0,0]] * 50
for i in range(15, 30):
array[i][0] = 1
但是当我print(array) 时,似乎程序更改了每个子数组的所有第一个元素。输出:
[[1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0], [1, 0]]
我不知道我做错了什么,因为逻辑似乎是合理的。谁能指出我的错误?
【问题讨论】:
标签: python arrays multidimensional-array syntax variable-assignment