特性
1、有序
2、创建完毕后不能修改元素,不能删除元素(没有append( )、pop( )、insert( )等方法)
创建元组
tup1=(1,2,3,"a","b","c")
访问元组
tup1[0]
tup1[1]
元组运算
Python表达式 | 结果 | 描述 |
---|---|---|
len((1, 2, 3)) | 3 | 长度 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 组合 |
('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | 重复 |
3 in (1, 2, 3) | True | 元素是否存在于列表中 |
for x in (1, 2, 3): print x | 1 2 3 | 迭代 |
元组截取
tup1[1:5]
元组函数
- 比较两个元组元素
cmp(tuple1, tuple2) - 计算元组元素个数
len(tuple) - 返回元组中元素最大值
max(tuple) - 返回元组中元素最小值
min(tuple) - 将列表转换为元组
tuple(seq)
”可变“的元组
不是说tuple一旦定义后就不可变了吗?怎么现在又变了?
别急,我们先看看定义的时候tuple包含的3个元素:
当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为
表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!