上节课也介绍过,元组是不可变的数据类型,所以我们没有办法对其内部元素进行修改、删除和添加操作,但是语言太神奇了,我们不能对元组本身进行操作,各位也可以将元组运算的结果重新存储到一个新的元组中,这样可以丰富元组的运算。方法是完全可行的,但是有些局限性,下面我们来尝试操作一下。1.尝试修改元组tup1=('p','y','t','h','o','n')print(tup1)print(id(tup1))tup1=(1,2,3,4,5,6,7,8,9)print(tup1)print(id(tup1))#和上面的元组不一样tup1[1]=100print(tup1)returnresult:('p','y','t','h','o','n')31565184(1,2,3,4,5,6,7,8,9)31465360TypeError:'tuple'objectdoesnotsupportitemassignment从上面的结果可以看出,前两次赋值后出现的内存地址是不一样的,所以虽然都叫tup1,但实际上是两个不同的tuple,第三个我们直接修改下标为1的元素后出现类型错误,提示元祖内部元素不可修改。2.尝试删除元组和元组元素首先我们删除整个元组tup=('python视频教程',"http://www.wakey.com.cn/")print(tup)deltupprint(tup)返回结果:NameError:name'tup'isnotdefined,表示可以删除元组。让我们再次删除元组中的元素。tup=('python视频教程',"http://www.wakey.com.cn/")print(tup)deltupprint(tup)deltup[1]print(tup)返回结果:TypeError:'tuple'objectdoesn'tsupportitemdeletion可以看出,元组中的元素是不能删除的,证明元组是不可变数据类型。3.元组拼接由于元组中的元素是不可变的,我们将两个元组拼接起来,尝试返回一个新的元组。tup1=('p','y','t','h','o','n')tup2=(1,2,3,4,5,6,7,8,9)print(tup1+tup2)print(tup1)#原来的元组不会改变,说明元组是不可变的print(tup2)print(tup2*3)print(tup2)returnresult:('p','y','t','h','o','n',1,2,3,4,5,6,7,8,9)('p','y','t','h','o','n')(1,2,3,4,5,6,7,8,9)(1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9)(1,2,3,4,5,6,7,8,9)从返回的结果可以看出,拼接后确实返回了一个元组,但是打印出来后还是原来的元组不变,说明返回的元组是一个新的元组。4.查找元组元素类似于列表,我们可以通过下标查找元素tup1=('python','java','php','MySql','C++','C','php','C#')print(tup1[5])#求第六个元素print(tup1[-2])#求倒数第二个元素print(tup1[1:4])#求第二到第五个元素print(tup1[4:])#从第五次搜索到最后一次print(tup1[:4])#从第0次搜索到第五次print(tup1[1:6:2])#从第二次到第七次,每2次查询一次print(tup1[::-1])#翻转元组print(tup1[5:2:-1])#翻转元组从5到2,得到小于2的值返回结果:Cphp('java','php','MySql')('C++','C','php','C#')('python','java','php','MySql')('java','MySql','C')('C#','php','C','C++','MySql','php','java','python')('C','C++','MySql')以上是python中元组元素增删改查操作方法总结。看完这篇文章,你应该尽量多练习,增加印象,否则你会一秒看完,下一秒就忘了,学习python或者任何一门编程语言,都不是一口咬成大胖子,是一个慢慢积累和总结经验,敲代码吧!文章来源:www.wakey.com.cn/document-tuple-operate.html
