元组是一个和列表和相似的数据类型,两者拥有着基本相同的特性,但是也有很多不同的地方,这节课我们来详细的介绍下元组这个数据类型
元组是一个有序的只读序列,元组中所有的元素放在 () 中间,并用逗号分开,例如:
元组与列表很相似,都是有序的只读序列,两者有相同的方法和操作运算,它们的区别在于:
修改列表的示例如下:
>>> x = [1, 2, 3]
>>> x[0] = 11
>>> x
[11, 2, 3]
修改元组的示例如下:
>>> y = (1, 2, 3)
>>> y[0] = 11
Traceback (most recent call last):
File "", line 1, in
TypeError: 'tuple' object does not support item assignment
>>> y
(1, 2, 3)
如果一个元组没有包含任何元素,使用 () 表示一个空元组,例子如下:
>>> t = ()
>>> t
()
如果一个元组只包含了一个元素 item,需要在元素后加一个逗号,使用 (item, ) 表示该元组,例子如下:
>>> t = (123, )
>>> t
(123,)
注意,(123, ) 和 (123) 两者表示不同的含义:
两者是不相同的,示例如下:
>>> t = (123, )
>>> i = (123)
>>> t == 123
False
>>> i == 123
True
当元组作在赋值操作符 = 的右边时,可以省略括号,示例如下:
>>> t = 123, 456
>>> t
(123, 456)
>>> x = 123,
>>> x
(123, )
本节介绍对元组的最常见的几种运算操作,包括:
使用运算符 + 连接两个元组,示例如下:
>>> (1, 2) + (3, 4)
(1, 2, 3, 4)
>>> (1, 2) + (3, 4) + (5, 6)
(1, 2, 3, 4, 5, 6)
使用运算符 * 将元组的元素重复,示例如下:
>>> (1, 2) * 2
(1, 2, 1, 2)
>>> (1,2) * 3
(1, 2, 1, 2, 1, 2)
通过索引 [] 获取元组中指定位置的元素,示例如下:
>>> x = ('www', 'imooc', 'com')
>>> x[0]
'www'
>>> x[1]
'imooc'
>>> x[2]
'com'
在 Python 中,使用语法 元组[start:end],获取元组 元组 中在 [start, end) 范围的子字符串。注意范围 [start, end) 包含 start,不包含 end。举例如下:
>>> x = ('www', 'imooc', 'com')
>>> x[1]
'imooc'
>>> x[2]
'com'
>>> x[1:3]
['imooc', 'com']
通过关键字 in 检查元组中是否包含指定元素,示例如下:
>>> 'imooc' in ('www', 'imooc', 'com')
True
>>> 'mooc' in ('www', 'imooc', 'com')
False
使用函数 len 获取元组的长度,示例如下:
>>> len((1, 2, 3))
3
>>> len((1, 2, 3, 4))
4
使用函数 max 获取元组中最大的元素,示例如下:
>>> max((1, 2))
2
>>> max((1, 3, 2))
3
使用函数 min 获取元组中最小的元素,示例如下:
>>> min((1, 2))
1
>>> min((1, 3, 2))
1
元组与列表很相似,两者都表示一个有序的序列,它们的区别在于:
因为元组不能修改,以下方法需要对列表进行修改,因此只有列表才提供:
index(item) 方法在元组中查找指定元素 item,如果找到元素 item,则返回元素 item 的索引;如果找不到,则抛出异常。示例如下:
>>> x = ('www', 'imooc', 'com')
>>> x.index('imooc')
1
>>> x.index('mooc')
Traceback (most recent call last):
File "", line 1, in
ValueError: 'mooc' is not in tuple
一定要注意元组和列表的不同之处。一定要注意元组和列表的不同之处。一定要注意元组和列表的不同之处。重要的事情说三遍。元组一般适合用来存储不变的数据,例如学生的基本信息,例如地图坐标信息等等。