上节课也介绍过,元祖是不可变的数据类型,所以咱们没有方法对他的外部元素进行诸如批改,删除和减少操作,然而语言就是这么神奇,不能够对元祖自身操作,还能够把元祖操作之后的后果从新存储成一个新的元祖,这样不就能丰盛元祖的操作了吗。办法是齐全可行的,然而多少有点局限性,上面咱们就来尝试操作一下。
一、尝试批改元祖
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)
返回后果:
('p', 'y', 't', 'h', 'o', 'n')31565184(1, 2, 3, 4, 5, 6, 7, 8, 9)31465360TypeError: 'tuple' object does not support item assignment
从下面的后果咱们能够看出,前两次赋值后呈现的内存地址是不一样的,所以尽管都叫做tup1然而其实是两个不同的元祖,而第三个咱们间接批改下标为1的元素后呈现类型谬误,阐明元祖外部元素不能批改。
二、尝试删除元祖和元祖元素
首先咱们来删除整个元祖
tup = ('python视频教程', "http://www.wakey.com.cn/")print(tup)del tupprint(tup)
返回后果:
NameError: name 'tup' is not defined
阐明元祖是能够删除的。
再来删除元祖中的元素试试。
tup = ('python视频教程', "http://www.wakey.com.cn/")print(tup)del tupprint(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的值
返回后果:
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