初始化列表时,我们使用如下的方法创建一定长度的一维列表是可行的:
但是当我们用这样的方法创建一个多维列表,这里以二维列表为例,在赋值时会出现错误:
如上图所示,我们的本意是只给第0行第0列的元素赋值,但是整个第0列的元素都发生了变化,原因是[[0]*MyLen]*MyLen产生的是MyLen个对[0]*MyLen列表的引用,所以更改其中一个引用,其他引用也会发生相同的变化,是一种浅拷贝【1】,所以我们需要采取另外的方式方式来创建二维列表:
可以看到,这样我们给一个元素赋值时就不会出现错误了。
参考链接:
【1】https://blog.csdn.net/liangjiubujiu/article/details/82153095