列表(list)是一个可变容器,可变与不可变是一对很微妙的概念,因为网上经常出现,所以再重点总结下。
创建一个列表 a = [1,3,[5,7],9,11,13],存储示意图:
执行a.pop()
后删除最后一个元素:
删除后:
再在索引3处增加一个元素8,a.insert(3,8)
,插入后如下:
因此,对列表而言,它能增加或删除元素,所以它是可变的。
但是,如果仅仅在列表a中做这一步操作:
a[2].insert(1,6) #在`a[2]`(也是一个列表)中插入元素6
插入后可视化图:
对于“可变”这个概念而言,这就不是真正让a可变的操作。
tuple
就是一个典型的不可变容器对象,对它而言,同样也可以修改嵌套对象的取值,但这并没有真正改变tuple内的元素。
如下所示,有一个元祖a
a =(1,3,[5,7],9,11,13)
a的存储示意图如下:
下面插入一个元素6:
a[2].insert(1,6)
可以看到,a内元素没增没减,长度还是6
不可变容器对象的本质:一旦创建后,长度就被唯一确定
。但是,对于list而言,长度会有增有减,所以它是可变的。
本文分享自 程序员郭震zhenguo 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有