可变与不可变
列表(list)是一个可变容器,可变与不可变是一对很微妙的概念,因为网上经常出现,所以再重点总结下。
创建一个列表 a = [1,3,[5,7],9,11,13],存储示意图:
?...因此,对列表而言,它能增加或删除元素,所以它是可变的。
但是,如果仅仅在列表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而言,长度会有增有减,所以它是可变的。