【发布时间】:2021-06-10 01:45:09
【问题描述】:
所以我尝试创建一个 NxN 2D 数组,然后将其对角元素更改为 1。这是我的代码:
arr=[1,1,1,2,2,2]
table=[[0]*len(arr)]*len(arr)
for i in range(0,len(arr)):
table[i][i]=1
print(table)
但是,每当我运行此代码时,我都会得到以下输出:
[[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1]]
我希望得到这个:
[[1, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 1]]
我已经盯着我的代码看了好几个小时,但我不知道出了什么问题
【问题讨论】:
标签: python-3.x list multidimensional-array