Python中元组常用的方法有哪些,分别有什么作用?

Python011

Python中元组常用的方法有哪些,分别有什么作用?,第1张

元组特点:定义元组使用小括号,且逗号隔开各个数据,数据可以是不同的数据类型如果定义的元组只有一个数据也需要加逗号,否则数据类型为唯一的这个数据的数据类型元组中的数据是不可以删除,修改的如果要存储对个数据,但这些数据是不能修改的数据就使用元组使用方法:1、查找 元组数据不支持修改,只支持查找按下标查找数据index()count()len()# 1,按下标查找数据tuplel = ('aa','bb','cc','dd')print(tuplel[0]) # aa# 2,index():查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表,字符串的index方法相同tuplel = ('aa','bb','cc','bb')print(tuplel.index('aa')) # 0# 3,count():统计某个数据在当前元组中出现的次数tuplel = ('aa','bb','cc','bb')print(tuplel.count('bb')) # 2# 4,len()print(len(tuplel)) # 4--tuplel 中有4个数据2、修改元组内的直接数据如果修改则立即报错但是如果元组里面有列表,修改列表里面的数据则是支持的,t1 = ('aa','bb','cc','dd')# t1[0] = 'aaa' # 直接报错,列表数据不允许修改t2 = ('aa','bb',['cc','dd'])print(t2)print(t2[2][0])t2[2][0] = 'xiaoguai'print(t2)

在Python中,元组(Tuple)与列表(List)类似,也是一个有序的序列,但元组是一个不可变对象,其一旦初始化后便无法进行修改。

一般在创建元组时,分为创建空元组和非空元组,其创建方式如下:

从上面可以看到,我们只需要把元组的所有元素放在 小括号 () 里面,每个元素之间通过 逗号 , 间隔起来即可,当然和列表一样,元组中同样允许存放不同数据类型的元素。

元组中使用的 () 是常见的数学运算符,如果参考列表的创建,如下:

从上面可以看到,我们创建出来的压根就不是元组类型。那么我们想创建一个只包含一个元素的元组时,需要怎么创建呢?

很简单,只需要在元素后加上一个 逗号 , ,这样创建出来就是一个元组。

当我们需要访问元组中的元素,可以类似列表一样通过索引取值或切片取值。

如果访问的索引不存在,那么会报错: IndexError: tuple index out of range

在元组中,可以像列表一样使用切片,语法为: 元组[start:end:step] ,通过切片可以获取到元组中指定范围的元素,返回结果是一个新元组。在这里,需要注意切片的规则是左闭右开,也就是说包含头部 start,但不包含尾部 end ,而 step 则表示切片的步长,需要每间隔 step 个元素取一次。

在上面我们提到了元组是不可变的,这就意味着我们创建一个元组之后,不能再去改变其值了,比如下面这样就会出现报错:

假设元组中存在元素是一个可变对象,如果我们不改变元组,但改变了可变对象的值,又会得到怎么的结果呢?请看下面实例:

从上面可以看到,元组中的第 2 个元素似乎发生了变化,这岂不是和上面说的元组不可变自相矛盾了吗?

其实,我们说的元组不可变,指的是元组中各元素的指向永远保持不变。在上面操作中,元组中第 2 个元素指向的一直是 列表nums ,我们改变的其实不是元组的元素,而只是改变了 列表nums 中的元素。

元组是不可变的,因此我们就不能删除元组中的元素,但是,我们可以通过 del 语句删除整个元组。

通过关键字 in ,可检查当前元组中是否包含指定元素,返回结果为布尔值 True 或 False。

通过关键字 in ,还可以用于遍历当前元组。