之前用python做了一个关于交通大数据的项目,由于之前比较赶进度,故现在会陆续更新对项目代码的一些反思。
1、
由此可以看出,a[0],a[1],a[2]指向的是同一个元素,[[]]*3表示在a中开辟三份地址,且地址相同。
2、
重新对a[0]赋值,故a[0]地址改变
3、
对a[0][0]赋值,即改变a[0],a[1],a[2]指向的地址里的内容
注:
.append\+=\-=等都不会重新赋地址,=会重新赋地址
故而,下面两条语句都会出现问题:
在上述278、280两行的语句中,我都用到了[[]]*len(spts),所以只要其中某一个[]之后有.append或+=或其它不重新指向地址的行为,另外两个元素也会跟着改变。