文章目录
元组(tuple)的常用操作
元组的定义
元组的定义由()定义,相邻元素之间采用,进行分割,在形式上,可以称为不可变的列表
元组是不可变类型,无法对其中的元素进行单独的修改和增加
元组的创建
# 空元祖的创建
tu = ()
# 一个元素的元组的创建的时候,需要在元素末尾加个,
tu1 = ('hello world !',)
# 多种数据类型元组的创建
tu2 = ('123', '元组', [1, 2, 3], {'name': 'zhou', 'age': 18})
# 不加小括号创建元组
tu3 = 'hello', 'world', '!'
元组的删除(del)
# 删除元组tu1
tu1 = ('123', '元组', [1, 2, 3], {'name': 'zhou', 'age': 18})
del tu1
查找元组(count,index)
查找(count)
tu = (11, 22, 33, 44, 55, 44, 33, 22, 11)
# count查找的为某个元素在元组中出现的次数
print(tu.count(22))
# 输出结果
2
查找(index)
tu = (11, 22, 33, 44, 55, 44, 33, 22, 11)
# index查找的为元素的索引值,第一个参数代表需要查找的元素,第二个参数可以指定从哪个索引值开始查找
print(tu.index(44))
print(tu.index(44, 4))
# 输出结果
3
5
通过索引取值
tu = (11, 22, 33, 44, 55, 44, 33, 22, 11)
# 通过索引取出索引为3的值
print(tu[3])
# 通过切片的方式获取指定的元素,第一个参数为开始索引,第二个参数为结束索引,第三个参数为步长
print(tu[2:8:2])
# 输出结果
44
修改元组元素
虽然我们开始就说到元组无法进行单独的修改,但是我们可以对原组进行重新赋值,拼接等操作达到修改元组
tu = (11, 22, 33, 44, 55, 44, 33, 22, 11)
# 给元组重新赋值
tu = (77, 88, 99)
print(tu)
# 使用元组进行拼接得到新元祖,注意,拼接的类型一定要为元组格式
tu1 = (33, 44, 55)
tu2 = (66, 77, 88)
tu1 = tu1 + tu2
print(tu1)
# 输出结果
(77, 88, 99)
(33, 44, 55, 66, 77, 88)
元组的拆包
在元组有多个元素的时候,我们可以进行元组拆包来分别得到元组的元素
tu = (77, 88, 99)
# 有几个元素就用几个变量接收
a, b, c = tu
print(a)
print(b)
print(c)
# 输出结果
77
88
99
元组推导式
元组推导式和我们的列表推导式是一样的,只需要修将列表的[]改为()就可以了,此处我们不做过多的演示,详细内容请看列表(list)的常用操作
列表和元祖的区别
元组和列表都属于序列,而且它们又都可以按照特定顺序存放一组元素,类型又不受限制,只要是Python支持的类型都可以
主要区别体现在:
- 列表属于可变序列,它的元素可以随时修改或者删除,元组属于不可变序列,其中的元素不可以修改,除非整体替换
- 列表可以使用append()、extend()、insert()、remove()、pop()等方法实现添加和修改列表元素,而元组没有这几个方法,所以不能向元组中添加和修改元素。同样,元组也不能删除元素
- 列表可以使用切片访问和修改列表中的元素,元组也支持切片,但是它只支持通过切片访问元组中的元素,不支持修改
- 元组比列表的访问和处理速度快,所以当只是需要对其中的元素进行访问,而不进行修改的时候,建议使用元组
- 列表不能作为字典的键,而元组可以