1.什么是元组
Python内置的数据结构之一,是一个不可变序列。
tip:什么是可变序列与不可变序列?
可变序列:比如列表、字典,可以对序列进行增删改操作,对象地址不会发生变化;
不可变序列:比如字符串、元组,没有增删改操作。
2.元组的创建
t = (1,1.2,True,‘westos’)
tip:如果只有一个元素,则后面要加逗号,否则不确定其数据类型。
t1 = (1,)
3.为什么要将元组设计成不可变序列?
在多任务环境下,同时操作对象时不需要加锁。因此,在程序中尽量使用不可变序列。
注意事项:元组中存储的是对象的引用
a)如果元组中对象本身是不可变对象,则不能再引用其他对象;
b)如果元组中的对象是可变对象,则可变对象的引用不允许改变,但是其数据可以改变。
t1 = (10, 20, [20, 30])
print(t1, type(t1))
print(t1[0], type(t1[0]))
print(t1[1], type(t1[1]))
print(t1[2], type(t1[2]))
t1[2].append(100) # 可以改变可变数据类型的数据,但是地址不会改变
print(t1)
输出:(10, 20, [20, 30]) <class 'tuple'>
10 <class 'int'>
20 <class 'int'>
[20, 30] <class 'list'>
(10, 20, [20, 30, 100])
4.元组的遍历
元组是可迭代对象,所以可以进行遍历。
for item in t1: print(item)
输出:10
20
[20, 30, 100]