赞
踩
大家可能都知道,列表和元组都是序列
而它俩的区别就是列表是可变的序列,元组是不可变的序列
即元组的内容是不可修改的,不允许更新元素、删除元素
但是,你知道吗?
其实,元组其实也是“可变”的
就让我来介绍介绍元组怎么“可变”
首先,初始化一个元组
>>>tuple1=('1','2','3',['a','b','c'])
再修改元素
>>>tuple1[3][0]='4'
>>>tuple1[3][1]='5'
>>>tuple1[3][2]='6'
更改后的结果:
>>>tuple1
('1', '2', '3', ['4', '5', '6'])
上述元祖最开始有四个元素’1’,‘2’,‘3’,[‘a’,‘b’,‘c’],后来通过索引修改元组元素后,元组发生改变。
表面上看,元组的元素确实是改变了
但其实变的并不是元组的元素,而是列表的元素
元组开始指向的列表并没有改变成其他的列表
所以
元组的所谓的“不变”,其实是元组的每个元素的指向不变
指向了‘1’,就不能指向‘2’
指向一个列表,就不能指向其他列表,也不能指向其他类型的对象
所以,元组在特别情况下是“可变的”,所谓的“不可变”是指向不变
希望这篇文章能让大家对元组有一个新的认识
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。