为什么我不能用这个代码做一个二维数组?

2024-04-20 04:27:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图解决一个问题,但我遇到了一个问题。你知道吗

当我这样做时:

arr=[[[0]*5]*5]

我明白了:

[[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]]

但当我尝试选择一个元素时:

arr[0][0]

它返回:

[0, 0, 0, 0, 0]

为什么?你知道吗


Tags: 元素arr
3条回答

只需移除外部[]

arr=[[0]*5]*5

但是,这是创建嵌套列表的错误方法。最好使用:

arr = [[0 for _ in range(5)] for _ in range(5)]

这样你就不会被"shared reference problem"咬到。你知道吗

arr = [[0]*5]*5 #will work

所以arr = [[[0]*5]*5]等价于另一个列表中的arr = [your required arr]

你有一对额外的方括号。试试arr = [[0]*5]*5。你知道吗

相关问题 更多 >