Python元组操作

1、任务简介

我在之前的博客《Python列表(“数组”)操作》中讲解了Python列表的一些主要操作方法,由于元组与列表有许多相同之处,所以今天就把元组的操作也讲解一下。

元组与列表最大的区别就在于你可以任意修改列表中的元素,可以任意插入或者删除一个元素,而在元组中这些都是不可以的,但是我们有其他的方法来实现这些,具体的操作方法会在后文中讲解。

注:本博客所有代码均在IDLE下完成。


2、元组操作简介

(1)创建元组

创建元组时大部分使用的是小括号,具体操作如下:

>>> tuple = (1,2,3,4,'罗思洋')
>>> tuple
(1, 2, 3, 4, '罗思洋')

和列表一样,元组中可以包含整形、字符串、浮点型数据,还可以包含另一个元组。

(2)从元组中获取元素

由于元组中的元素不能随意插入或更改,所以插入或更改的方法在后文中讲解,我们先来讲解简单一点的元素获取方法(其方法与列表中获取元素方法相同)。

1)从元组中获取元素可以一次获取一个或多个,获取一个的操作如下:

>>> tuple = (1,2,3,4,'罗思洋')
>>> tuple[0]
1

2)获取多个的方法如下:

>>> tuple = (1,2,3,4,'罗思洋')
>>> tuple[0:3]
(1, 2, 3)

tuple[0:3]中0为开始位置,3为结束位置;

3)访问元组中元组的方法如下:

>>> tuple = (1,2,(3,4),'罗思洋')
>>> tuple[2][1]
4

tuple[2][1]2指第一层元组的元素,1指第二层元组中的元素。

(3)元组反转

1)其反转方法和列表的第一种方法一样,通过分片操作即可,分片操作中当步长为-1就可以实现列表反转,操作如下:

>>> tuple = (1,2,3,4)
>>> tuple[::-1]
(4, 3, 2, 1)

2)那么我们可不可以使用reverse()方法呢,试试不就知道了吗?操作如下:

>>> tuple = (1,2,3,4)
>>> tuple.reverse()
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    tuple.reverse()
AttributeError: 'tuple' object has no attribute 'reverse'

由此可见使用reverse()方法宣告失败,提示说元组中没有reverse这种属性,所以以后要实现元组反转我们就使用分片的方法吧。

(4)元组的重复

元组重复的操作与列表类似,具体如下:

>>> tuple = (123,)
>>> tuple*3
(123, 123, 123)
>>> tuple *= 3
>>> tuple
(123, 123, 123)

需要注意的是当创建的元组只包含一个元素时,里面的逗号是必不可少的,有逗号才可以证明我们创建的是元组,证明如下(我们使用type方法查看类型):

>>> temp = (123)
>>> type(temp)
<class 'int'>
>>> temp = (123,)
>>> type(temp)
<class 'tuple'>

当没有逗号时我们创建的是int型,而有逗号时我们创建的才是元组,由此可见逗号才是元组的关键!

(5)元素是否存在于元组中的判断

1)元组中元素判断的方法与列表一样,in的操作如下:

>>> tuple = (1,2,3,4)
>>> 1 in tuple
True
>>> 5 in tuple
False

not in的操作如下:

>>> tuple = (1,2,3,4)
>>> 1 not in tuple
False
>>> 5 not in tuple
True

2)对于二层元组中元素的判断与列表一样,操作如下:

>>> tuple = (1,(2,3),4)
>>> 2 in tuple[1]
True
>>> 3 not in tuple[1]
False

(6)向元组中添加元素

讲了这么多,重头戏终于来了,既然不可以在元组中随意插入元素,那么我们就使用构造新元组的方法来解决这个问题,操作如下:

>>> tuple = ('罗','思','洋')
>>> tuple = tuple[0:2]+('lsy',)+tuple[2:]
>>> tuple
('罗', '思', 'lsy', '洋')

这样我们就可以向元组中添加一个元素,并且添加的位置还可以自己来定,其实原理是使用分片的方法将元组拆分为两部分,再使用连接操作符+合并为一个新元组,最后将tuple名指向新元组,需要注意的是被添加元素(‘lsy’,)的逗号不可缺少!切记切记!!!

(7)从元组中删除元素

1)既然讲了插入的方法,那么删除的方法自然是必不可少的,删除的原理和插入原理类似,都需要采用列表分片的方法,然后使用连接操作符+合并一个新元组,操作如下:

>>> tuple = ('罗','思','洋')
>>> tuple = tuple[:1] + tuple[2:]
>>> tuple
('罗', '洋')

2)如果需要删除整个元组,我们可以使用del语句,操作如下:

>>> tuple1 = (1,2,3,4)
>>> del tuple1
>>> tuple1
Traceback (most recent call last):
  File "<pyshell#38>", line 1, in <module>
    tuple1
NameError: name 'tuple1' is not defined

元组拼接的方法在插入和删除中我们都已经有所涉及,自己总结即可。

(8)其余操作

1)count()方法可以计算元素在元组中的出现次数,操作如下:

>>> tuple = (1,1,2,3,4,1)
>>> tuple.count(1)
3

2)index()方法可以返回元素在元组中的位置,操作如下:

>>> tuple = (1,2,3,4)
>>> tuple.index(3)
2

元组中是不可以使用sort()方法和reverse()方法来实现升序排序的。

3、总结

从上面的操作中可以看出Python元组的许多操作方法和列表是一样的,由于元组不可以随意的插入和删除,所以我们需要使用分片的方法来实现这两个功能,关于元组大家还可以通过菜鸟教程进行学习,但是我认为我写的更加详细,并且将主要操作都进行了验证。

  • 21
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值