做列表的时候初始化每个小列表的第一项的时候,发现有些问题
list=[[[0]]*4]*4
for i in range(4):
list[i][0]=[i]
print(list)
[[[3], [0], [0], [0]], [[3], [0], [0], [0]], [[3], [0], [0], [0]], [[3], [0], [0], [0]]]
想要做到
[[[0], [0], [0], [0]], [[1], [0], [0], [0]], [[2], [0], [0], [0]], [[3], [0], [0], [0]]]
的效果,但是四个小列表的第一项总是一起改变,希望能说一下为啥
list定义方式不太合适
list = [[[0]] *4 for _ in range(4)]
for i in range(4):
list[i][0] = [i]
print(list)
为啥要弄三维数组?你这个结构的话二维数据就满足了
python中[0 ]* n与[0 for _ in range(n)]是有区别的:
https://blog.csdn.net/weixin_42042056/article/details/106738462
list改一下
1、直接写
list = [[[0], [0], [0], [0]], [[0], [0], [0], [0]], [[0], [0], [0], [0]], [[0], [0], [0], [0]]]
2、循环遍历写多次
list = [[[0]] * 4 for i in range(4)] // 这里的i,后续可用也可不用