元组类型也是有序类型,与list类型一样,由一组元素按照一定顺序组成,但是与list有不同的性质, 元组定义后,成员不能改变
元组定义
# 定义一个空的元组
my_tuple = ()
# 元组的每一个元素类型可以为任意类型
my_tuple = (1, 2, 3)
# 如果元组只有一项,后面必须有一个,
my_tuple = (1,)
# 其实圆括号可以省略, “,”万万是不能省略的
my_tuple = 1, 2, 3
my_tuple = 1,
元组切片取值
# 元组支持切片取值操作
print(my_tuple[0])
print(my_tuple[0:2])
print(my_tuple[:])
元组为不可变类型
元组属于不可变类型, 因此不支持切片赋值
# 元组作为不可变类型,是不能通过切片修改成员值的
my_tuple[0] = 100
# 容易误会的地方
# 如果元组的项为可变类型,项本身支持自身的值改变
my_tuple = ([],[],[])
my_tuple[0].append(10)
print(my_tuple)
# 元组不能象列表那样通过[:]复制
# 如下, my_tuple2与my_tuple仍然是一个对象
my_tuple2 = my_tuple[:]
# 可以按照如下方法复制(浅拷贝)
my_tuple3 = my_tuple[0:1] + my_tuple[1:]
元组运算
# 多个元组可以合并为一个新的元组
my_tuple1 = (1, 2, 3)
my_tuple2 = (4, 5, 6)
# 支持下列操作
new_tuple = my_tuple1 + my_tuple2
new_tuple = my_tuple1 * 4
new_tuple += (1,)
new_tuple *= 4
讨论区