简介
元组与字典一样,是一种按照顺序存储数据的数据结构。但不同的是,元组是一种不可变的序列,在创建后不能做任何更改。
定义元组于定义列表相似,只需要将中括号替换为小括号()。
注意:当元组中只有一个数据时,需要在数据后加上一个逗号,否则解释器会将其当作整型来处理。
元组的特点
- 元组不可变
- 用小括号创建元组类型,数据项之间用逗号来分隔
- 元组中的数据项可以是任意类型的数据
- 元组同样支持切片操作
创建一个元组
a = () # 创建一个空元组
b = (1,) # 创建一个只有一个数据项的元组
c = (1, 2, 'hello world') # 创建一个含有多个数据项的元组
元组的基本方法
因为元组是不可变的类型,所以并不能像操作列表一样改变元组。但元组仍然支持查找的操作。
a = (1, 2, 3, 4, 5, 6, 7, 8, 9)
print(a[2]) # 元组一样可以通过取下标值的方式来取出数据
print(a[2:4]) # 元组同样支持切片的操作
print(a[::-1]) # 元组同样可以通过切片来实现倒序输出,这时,下标从-1开始
print(a[-1:-3:-1])
b = ()
print(id(b))
b = (1,)
print(id(b))
# 两组元组的内存id是不一样的。对元组赋值,会给元组一个新的内存空间
# 需要注意的是,当元组中的数据项并没有发生改变时,不会改变元组的内存id
tupleD = (1,2,[3,4])
print(type(tupleD[2]))
print(tupleD)
print(id(tupleD))
tupleD[2][0] = 5 # 修改元组中的列表
print(tupleD) # 可以修改元祖中的列表
print(id(tupleD)) # 修改元组中的列表之后元组的内存id并没有被改变
与列表一样,我们可以使用count函数来统计数据项在元组中出现的次数。