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元组的许多操作方法和列表是一样的,由于元组不可以随意的插入和删除,所以我们需要使用分片的方法来实现这两个功能,关于元组大家还可以通过菜鸟教程进行学习,但是我认为我写的更加详细,并且将主要操作都进行了验证。
还没有评论,来说两句吧...