元组是什么
元组(tuple)是Python中一种内置的存储有序数据的结构。与列表类似,可以存储不同类型的数据。但是元组是不可以改变的,创建后不能再做任何的修改。元组的主要作用是作为参数传递给函数调用或者从函数调用那里获得参数时,保护其内容不被外部接口修改。
因为元组是不可变的数据类型,因此元组没有增删改查
元组和列表的区别
元组相对于列表的优势:
首先比列表的运算速度快,如果定义了一个常量集对象,并且需要在程序中不断地遍历它,则建议使用元组而不是列表。
其次,使用元组相当于为不需要修改的数据进行了“写保护” ,使得数据更安全。
元组的创建
(1)空元组的创建——tup = ()
(2)当元组中只有一个数据时——tuple = (1,)
必须用,隔开 。 因为不加逗号系统默不是元组,而是其他数据类型
(3)元组里包含可变数据类型,可以间接修改元组内容
例如:元组中含有列表时,可以修改元组之哦不过列表的值
tuple = ([1,2,3],4)
tuple[0].append(5) 将元组中下标为0的元素列表中添加5这个元素
元组的特性
(1)索引 切片
通或索引和切片来查看元组中的元素内容
tuple[3] :查看下标为3的元组的元素是什么
与列表的索引切片类似
(2)重复
tuple * 3 元组内容重复三次
(3)连接
将两个元组中的数据连接到一起
tuple1 = (1,2,4,5)
tuple + tuple1
(4)成员操作符
‘westos’ in tuple :元素westos再元组中
‘westos’ not in tuple:元素westos不再元组中
(5)for循环
for i in tuple:
print(i)
元组与列表的相互转换
- Python 内置的tuple()函数接收一个列表,可返回一个包含相同元素的元组。
- 而 list() 函数接收一个元组返回一个列表。
- 从元组与列表的性质来看,tuple()相当于冻结一个列表,而list()相当于冻结一个元组。
例如:分别从两个列表中取不相同的两个元素组合成元组类型元素的新列表
输入:print([(x, y) for x in [1, 2, 3] for y in [3, 1, 4] if x != y])
输出:[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
元组的打包与解包
元组的打包:
输入:a = ‘q’,‘w’,‘e’,‘f’
输出:print(a)
结果:(‘q’, ‘w’, ‘e’, ‘f’)
元组的解包:
输入:a,b,c,d = ‘q’,‘w’,‘e’,‘f’
输出:print(a,b,c,d)
结果:q w e f
元组的基本操作
tup[i] 求索引为i的元素
tup[i:j:k] 切片求tup的位置索引为i~j~k的子元组
tup1 + tup2 将 tup1与tup2连接
tup * 2 或者 2* tup 将 tup复制2次
len(tup) 求tup的长度
for <var> in tup 对tup 元素循环
<expr> in tup 查找 tup 是否存在<expr>,返回的值为布尔类型
del tup 删除元组
max(tup) 返回元组中最大的值
min(tup) 返回元组中最小的值