安迪Python
2022/10/04阅读:40主题:默认主题
31. Python数据类型之元组
31. Python数据类型之元组
1. Python的数据类型
Python中有8种常见的数据类型:

【数据类型数据】
1.字符串:str,用引号括起来的内容。
2.整数:int,没有小数点的数字。
3.浮点数:float,有小数点的数字。
4.布尔类型:bool,只有2个值(True 和 False)。
【容器类型的数据】
5.列表:list。
6.元组:tuple。
7.字典
8.集合
2. 什么是元组
tuple [tʌpl]:元组,数组。
元组和列表一样,是Python中的一种容器类型数据。
它可以存储ython8种数据类型中的一种,或任意几种。
元组用( )
表示,元素之间用逗号分隔。
3. 元组的语法
3.1 语法
元组主要由3部分构成:
-
英文圆括号 ( )
-
元组元素 -
元素之间用英文逗号 ,
隔开

3.2 元素
元组的元素可以是Python8种数据类型中的一种,或任意几种。
4. 新建元组
4.1 用( )
新建一个空元组
英文圆括号中一个元素也没有,就是一个空元组。
# 新建一个空元组
none_tuple = ( )
# 查看元组
print(none_tuple )
# type函数查看数据类型
print(type(none_tuple ))
【终端输出】
()
<class 'tuple'>
<class 'tuple'>
表示数据类型为元组。
none [nʌn]:无,没有,默认值。
【代码解析】
none_tuple
是我给空元组起的名字。
=
是赋值符号。
( )
表示一个空元组。
4.2 元组的元素全部为整数
# 新建一个int元组
int_tuple = (1, 2, 3, 4)
# 输出元组
print(int_tuple)
# 查看元组的数据类型
print("元组的数据类型为",type(int_tuple))
【终端输出】
(1, 2, 3, 4)
元组的数据类型为 <class 'tuple'>
【代码解析】
int_tuple
是我给元组起的名字。
=
是赋值符号。
元组用圆括号( )
表示。
1 2 3 4
是元组的元素,上述元组有4个元素,元素类型均为整数。
元素之间用英文逗号,
分隔。
【温馨提示】所有标点符号必须在英文输入法状态下输入,否则会报错。
5. 元组的取值
【元组和列表的相同点】
都可以存储大量数据。
都可以用索引和切片方法取值。
【元组也可以用索引和切片方法取值】
# 新建一个元组
bank_tuple = ( "浦发银行", "招商银行", "建设银行", "工商银行")
# 索引取值
print("索引2取到元组的第3个元素:", bank_tuple[2])
# 切片取值
print("切片1:3取到元组的第2,3个元素:", bank_tuple[1:3])
【终端输出】
索引2取到元组的第3个元素: 建设银行
切片1:3取到元组的第2,3个元素: ('招商银行', '建设银行')
切片语法回忆:[开始字符:结束字符:步长]
【切片1:3
解析】
开始字符为1,即对应元组的第2个元素招商银行
;
结束字符为3,即对应元组的第4个元素工商银行
;
这里没有步长,即默认步长为1,即连续取值;
切片含前不含后,即含第2个元素,不含第4个元素,因此取到的值为第2个元素招商银行
,第3个元素建设银行
。
6. 元组的不可变性
【列表与元组的区别】
列表用中括号[ ]
,元组用圆括号( )
。
元组具有不可变性,即元组一经创建则不可修改。
不可变性是元组和列表最大的区别。
列表是可变数据类型,可以对列表的元素进行修改。
元组是不可变数据类型,如果试图修改元组的某个元素,程序会报错。
7. 为什么需要元组
除了元组的不可变性,元组和列表的作用和语法基本相似,很多地方都可以用元组替代列表。
相对于元组,列表更加灵活,那为什么不在所有的地方都用列表呢?
【原因如下】
-
元组可以作为字典的键或集合的元素,但列表不行;因为列表是可变的。
-
函数中利用元组传递参数或作为返回值,可以有效地避免被意外修改。
8. 只有一个元素的元组
如果元组只有1个元素,那该元素后面必须加英文逗号 ,
。
【圆括号中只有1个元素时,有逗号数据类型为元组】
# 新建一个只有一个元素的元组,元组后面必须加逗号
name_tuple = ('张三',)
# 查看元组
print(name_tuple)
# 查看数据类型
print(type(name_tuple))
【终端输出】
('张三',)
<class 'tuple'>
【圆括号中只有1个元素时,没有逗号数据类型为字符串】
# 括号中只有1个元素,没有逗号就是字符串
name_tuple = ('张三')
print(name_tuple)
# 查看数据类型
print(type(name_tuple))
【终端输出】
张三
<class 'str'>
9. 元组与列表的转换
9.1 元组转换成列表
【语法】
list(元组)
# 新建一个元组tuple_1
tuple_1 = ('张三', 30, '李四', 40)
# 用list函数将元组转换成列表
print(list(tuple_1))
# 查看转换后的数据类型
print(type(list(tuple_1)))
【终端输出】
['张三', 30, '李四', 40]
<class 'list'>
9.2 列表转换成元组
【语法】
tuple(列表)
# 新建一个列表list_1
list_1 = ['张三', 30, '李四', 40]
# 用tuple函数将列表转换成元组
print(tuple(list_1))
# 查看转换后的数据类型
print(type(tuple(list_1)))
【终端输出】
('张三', 30, '李四', 40)
<class 'tuple'>
10. 总结
元组重点掌握元组是不可变数据类型,不能进行修改即可。
作者介绍