python中慎用乘号*快速初始化list

Posted sbj123456789

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中慎用乘号*快速初始化list相关的知识,希望对你有一定的参考价值。

python中乘号*常被用于快速初始化list,但有一个隐患:

被乘号复制的对象都指向同一个空间。当被复制对象为不可变类型时,不会出现问题,但当当被复制对象为可变类型时,若有一个引用改变这块存储空间,其他引用该存储空间的列表也会发生改变。

技术图片

用id()可以验证其指向的空间

技术图片

所以更安全的创建初始化list的办法为用for的方式:

技术图片

 

 

参考:

https://blog.csdn.net/tongda530/article/details/88089495

 

以上是关于python中慎用乘号*快速初始化list的主要内容,如果未能解决你的问题,请参考以下文章

Python刷题实用小tips集合(持续更新)

java快速初始化list和map

C++ 中 ZeroMemorymemset 危险需慎用

python中二维列表(list)的初始化

python初始化list列表(1维2维)

python 清空list的几种方法