python中慎用乘号*快速初始化list
python中乘号*常被用于快速初始化list,但有一个隐患:
被乘号复制的对象都指向同一个空间。当被复制对象为不可变类型时,不会出现问题,但当当被复制对象为可变类型时,若有一个引用改变这块存储空间,其他引用该存储空间的列表也会发生改变。
用id()可以验证其指向的空间
所以更安全的创建初始化list的办法为用for的方式:
注意:
用for创建矩阵的时候,内部为i,外部为j,则访问时对应的下标为list[j][i],是一个4*3的矩阵,而不是3*4的
参考:
https://blog.csdn.net/tongda530/article/details/88089495