需要创建一个二维的列表,不等长的。自己想到的是先创建一个一维列表,然后利用append函数对其中元素进行增添,但是发现这样会使列表中所有元素均增添的相同的元素。
代码如下:
list_01 = [[]] * 3
list_01[0].append([1,2])
print("list_01为:",list_01)
输出结果:
list_01为: [[[1, 2]], [[1, 2]], [[1, 2]]]
然后搜了一下发现了这篇文章https://crypto.blog.csdn.net/article/details/106454135
原来是深拷贝与浅拷贝的原因,第一种方法列表里面的元素指向同一地址。其中一种可以避免出现这种状况的定义方法如下:
代码如下:
list=[[] for i in range(3)]
list[0].append([1,2])
print("list为:",list)
输出结果:
list为: [[[1, 2]], [], []]