2024-04-20 04:27:24 发布
网友
我试图解决一个问题,但我遇到了一个问题。你知道吗
当我这样做时:
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]
为什么?你知道吗
只需移除外部[]:
[]
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]
arr = [your required arr]
你有一对额外的方括号。试试arr = [[0]*5]*5。你知道吗
arr = [[0]*5]*5
只需移除外部
[]
:但是,这是创建嵌套列表的错误方法。最好使用:
这样你就不会被"shared reference problem"咬到。你知道吗
所以
arr = [[[0]*5]*5]
等价于另一个列表中的arr = [your required arr]
你有一对额外的方括号。试试
arr = [[0]*5]*5
。你知道吗相关问题 更多 >
编程相关推荐