Python修改元祖中的元素方法有哪些()

上节课也介绍过,元祖是不可变的数据类型,所以我们没有办法对他的内部元素进行诸如修改,删除和增加操作,但是语言就是这么神奇,不可以对元祖本身操作,还可以把元祖操作之后的结果重新存储成一个新的元祖,这样不就能丰富元祖的操作了吗。方法是完全可行的,但是多少有点局限性,下面我们就来尝试操作一下。
一、尝试修改元祖

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] = 100 print(tup1)

返回结果:
('p', 'y', 't', 'h', 'o', 'n') 31565184 (1, 2, 3, 4, 5, 6, 7, 8, 9) 31465360 TypeError: 'tuple' object does not support item assignment

从上面的结果我们可以看出,前两次赋值后出现的内存地址是不一样的,所以虽然都叫做tup1但是其实是两个不同的元祖,而第三个我们直接修改下标为1的元素后出现类型错误,说明元祖内部元素不能修改。
二、尝试删除元祖和元祖元素
首先我们来删除整个元祖
tup = ('python视频教程', "http://www.wakey.com.cn/") print(tup) del tup print(tup)

【Python修改元祖中的元素方法有哪些()】返回结果:
NameError: name 'tup' is not defined

说明元祖是可以删除的。
再来删除元祖中的元素试试。
tup = ('python视频教程', "http://www.wakey.com.cn/") print(tup) del tup print(tup) del tup[1] print(tup)

返回结果:
TypeError: 'tuple' object doesn't support item deletion

可以看出元祖中元素不能删除,从而侧面证明元祖是不可变的数据类型。
三、元祖拼接
既然元祖中元素不可变,那么我们把两个元祖进行拼接试试返回的是不是一个新元祖。
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)

返回结果:
('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)

从返回结果可以看出来,拼接后确实返回一个元祖,但是打印原来的元祖还是没有变化,说明返回的元祖是一个新元祖。
四、查找元祖元素
和列表类似,我们可以通过下标来查找元素
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的值

返回结果:
C php ('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

    推荐阅读