Python第五章-内置数据结构03-元组
Python 内置的数据结构
三、元组(tuple)
python 作为一个发展中的语言,也提供了其他的一些数据类型。
tuple
也是 python 中一个标准的序列类型。
他的一些操作和str
和list
是通用的,因为他们都是一种序列(sequence data type
)
支持索引、切片、连接,支持使用内置len()
来获取tuple
中元素的个数。
另外tuple
是不可变对象,所以不能对tuple
做修改。
元组与列表相似,不同之处在于元组的元素不能修改
3.1 元组的创建
元组使用()定义,用于存储一串信息,使用comma(逗号)
隔开的多个值就组成了tuple
索引从0开始。(索引就是数据在元组中的位置编号)
t = 10, 20, 30, 25 # 创建了一个 tuple 并把这个 tuple 赋值给变量 t
print(t)
注意:tuple
在输出的时候总是用一对圆括号包裹起来
如果tuple
中只有一个元素,这个时候书写的时候容器与普通的变量混淆,所以,python 要求在第一个元素的后面必须添加一个 comma
t2 = 10,
print(t2)
前面的这种tuple
写法可读性不好,所以在实际使用的时候会直接把tuple
用圆括号括起来,就像他在终端的输出的那样。
t1 = (10, 20, 30, 25)
print(t1)
t2 = (10,)
print(t2)
如圆括号中不添加任何元素则就是一个空的tuple
。
直接调用tuple()
也可以得到一个空的tuple
。
t1 = () # 1个空的 tuple
print(t1)
t2 = tuple()
print(t2) # 1个空的 tuple
tuple
也支持嵌套
v = ([1, 2, 3], [3, 2, 1], (2, 3))
print(v)
使用内置函数len()
获取tuple
的长度
v = (10, 20, 30, 40)
print(len(v)) # 4
v = ([1, 2, 3], [3, 2, 1], (2, 3))
print(len(v)) # 3
3.2 元组的索引和切片
tuple
和list
一样都属于序列,list
的大部分操作都能支持操作tuple
,除了修改和删除操作。
v = (10, 20, 30, 40)
print(v[0])
print(v[1:3])
v = (10, 20, 30, 40)
v[1] = 100 # 抛出异常