加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Python 元组类型介绍

发布时间:2023-06-27 10:08:50 所属栏目:教程 来源:
导读:元组是一个和列表和相似的数据类型,两者拥有着基本相同的特性,但是也有很多不同的地方,这节课我们来详细的介绍下元组这个数据类型

1. 简介
1.1 定义
元组是一个有序的只读序列,元组中所有的元素放在 () 中间
元组是一个和列表和相似的数据类型,两者拥有着基本相同的特性,但是也有很多不同的地方,这节课我们来详细的介绍下元组这个数据类型

1. 简介
1.1 定义
元组是一个有序的只读序列,元组中所有的元素放在 () 中间,并用逗号分开,例如:

(1, 2, 3),一个包含 3 个整数的元组

(‘a’, ‘b’, ‘c’),一个包含 3 个字符串的元组

1.2 元组与列表的区别
元组与列表很相似,都是有序的只读序列,两者有相同的方法和操作运算,它们的区别在于:

列表创建后,可以进行修改

元组创建后,不能进行修改

修改列表的示例如下:

>>> x = [, , ]>>> x[] = >>> x[, , ]
在第 1 行,创建了列表 x

在第 2 行,修改列表 x 的第 0 项元素

在第 3 行,显示修改后的列表

在第 4 行,结果表示修改成功了

修改元组的示例如下:

>>> y = (, , )>>> y[] = Traceback (most recent call last):
  File <stdin>, line , in <module>TypeError: 'tuple' object does not support item assignment>>> y(, , )
在第 1 行,创建了元组 y

在第 2 行,修改元组 y 的第 0 项元素

在第 3 行,提示出现 TypeError,因为 ‘tuple’ object does not support item assignment,所以无法修改

在第 6 行,显示元组 y

在第 7 行,结果表示元组 y 没有被修改

1.3 特殊的元组
如果一个元组没有包含任何元素,使用 () 表示一个空元组,例子如下:

>>> t = ()>>> t()
如果一个元组只包含了一个元素 item,需要在元素后加一个逗号,使用 (item, ) 表示该元组,例子如下:

>>> t = (, )>>> t(,)
注意,(123, ) 和 (123) 两者表示不同的含义:

(123, ) 表示的是一个元组,元组中包含一个整数 123

(123) 表示的是一个带括号的表达式,整数 123 嵌入括号中

两者是不相同的,示例如下:

>>> t = (, )>>> i = ()>>> t == False>>> i == True
在第 3 行,将元组(123,) 与整数 123 比较,结果为假

在第 5 行,将表达式(123) 与整数 123 比较,结果为真

1.4 元组的简写
当元组作在赋值操作符 = 的右边时,可以省略括号,示例如下:

>>> t = , >>> t(, )>>> x = ,>>> x(, )
在第 1 行,创建了元组 (123, 456)

在第 4 行,创建了元组 (123,)

2. 常见运算操作
本节介绍对元组的最常见的几种运算操作,包括:

2.1 运算符 +
使用运算符 + 连接两个元组,示例如下:

>>> (, ) + (, )(, , , )>>> (, ) + (, ) + (, )(, , , , , )
在第 1 行,使用运算符 + 连接两个元组

在第 3 行,使用运算符 + 连接多个元组

2.2 运算符 *
使用运算符 * 将元组的元素重复,示例如下:

>>> (, ) * (, , , )>>> (,) * (, , , , , )
在第 1 行,使用运算符 * 将字符串重复两次

在第 3 行,使用运算符 + 将字符串重复三次

2.4 索引 []
通过索引 [] 获取元组中指定位置的元素,示例如下:

>>> x = ('www', 'imooc', 'com')>>> x[]'www'>>> x[]'imooc'>>> x[]'com'
在第 2 行,获取元组 x 的第 0 个元素 ‘www’

在第 4 行,获取元组 x 的第 1 个元素 ‘imooc’

在第 6 行,获取元组 x 的第 2 个元素 ‘com’

2.5 索引 [:]
在 Python 中,使用语法 元组[start:end],获取元组 元组 中在 [start, end) 范围的子字符串。注意范围 [start, end) 包含 start,不包含 end。举例如下:

>>> x = ('www', 'imooc', 'com')>>> x[]'imooc'>>> x[]'com'>>> x[:]['imooc', 'com']
在第 2 行,获取元组 x 的第 1 个元素 ‘imooc’

在第 4 行,获取元组 x 的第 2 个元素 ‘com’

在第 6 行,获取元组 x 中从 1 开始、到 3 结束的元组 (‘imooc’, ‘com’),使用 x[1:3] 表示该范围,注意该范围包括字符串的第 1 个元素、不包括第 3 个元素。

2.6 关键字 in
通过关键字 in 检查元组中是否包含指定元素,示例如下:

>>> 'imooc' in ('www', 'imooc', 'com')True>>> 'mooc' in ('www', 'imooc', 'com')False
在第 1 行,检测字符串 ‘imooc’ 在元组中

在第 3 行,检测字符串 ‘mooc’ 不在元组中

3. 常见函数
3.1 len(元组) 函数
使用函数 len 获取元组的长度,示例如下:

>>> len((, , ))>>> len((, , , ))
3.2 max(元组) 函数
使用函数 max 获取元组中最大的元素,示例如下:

>>> max((, ))>>> max((, , ))
3.3 min(元组) 函数
使用函数 min 获取元组中最小的元素,示例如下:

>>> min((, ))>>> min((, , ))
4. 常见方法
4.1 只有列表才支持的方法
元组与列表很相似,两者都表示一个有序的序列,它们的区别在于:

列表创建后,可以进行修改

元组创建后,不能进行修改

因为元组不能修改,以下方法需要对列表进行修改,因此只有列表才提供:

append(item) 方法,向列表中新增一个元素 item

insert(index, item) 方法,用于将元素 item 插入列表的指定位置

pop() 方法,从列表的尾部取走一个元素

remove(item) 方法,从列表中删除指定元素 item

reverse() 方法,将列表中元素倒序排列

sort() 方法,对列表中元素进行排序

4.2 index(item) 方法
index(item) 方法在元组中查找指定元素 item,如果找到元素 item,则返回元素 item 的索引;如果找不到,则抛出异常。示例如下:

>>> x = ('www', 'imooc', 'com')>>> x.index('imooc')>>> x.index('mooc')Traceback (most recent call last):
  File <stdin>, line , in <module>ValueError: 'mooc' is not in tuple
在第 2 行,在元组中使用 index 方法查找元素 ‘imooc’

在第 3 行,显示元素 ‘imooc’ 在元组中的索引是 1

在第 4 行,在元组中使用 index 方法查找元素 ‘mooc’

在第 5 行,因为元组中没有包含元素 ‘mooc’,显示错误 “ValueError: ‘mooc’ is not in tuple”

5. 小结
一定要注意元组和列表的不同之处。一定要注意元组和列表的不同之处。一定要注意元组和列表的不同之处。重要的事情说三遍。元组一般适合用来存储不变的数据,例如学生的基本信息,例如地图坐标信息等等。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章