学习
实践
活动
专区
工具
TVP
写文章

什么是可变对象吗?用图说话

可变与不可变

列表(list)是一个可变容器,可变与不可变是一对很微妙的概念,因为网上经常出现,所以再重点总结下。

创建一个列表 a = [1,3,[5,7],9,11,13],存储示意图:

执行后删除最后一个元素:

删除后:

再在索引3处增加一个元素8,,插入后如下:

因此,对列表而言,它能增加或删除元素,所以它是可变的。

但是,如果仅仅在列表a中做这一步操作:

插入后可视化图:

对于“可变”这个概念而言,这就不是真正让a可变的操作。

就是一个典型的不可变容器对象,对它而言,同样也可以修改嵌套对象的取值,但这并没有真正改变tuple内的元素。

如下所示,有一个元祖a

a的存储示意图如下:

下面插入一个元素6:

可以看到,a内元素没增没减,长度还是6

不可变容器对象的本质:一旦创建后,。但是,对于list而言,长度会有增有减,所以它是可变的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191127A0CQ0800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券