Python tuple总结

特性

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)

”可变“的元组

image.png

不是说tuple一旦定义后就不可变了吗?怎么现在又变了?
别急,我们先看看定义的时候tuple包含的3个元素:


image.png

当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为


image.png

表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

你可能感兴趣的:(Python tuple总结)