元组
1,什么是元组?
-
元组是Python内置的数据结构之一,是一个不可变序列
-
不可变序列与可变系列
-
不可变序列:字符串,元组
没有增删改的操作
-
可变序列:列表,字典
可以对序列执行增删改操作,对象地址不发生更改
-
2,元组的创建方式
- 直接小括号
t=('hello',90)
print(t,type(t))
输出:(‘hello’,90) <class ‘tuple’>
- 使用内置函数tuple( )
t=tuple(('hello',90))
print(t,type(t))
输出:(‘hello’,90) <class ‘tuple’>
当然,也可以省去小括号
t='hello',90
print(t,type(t))
输出:(‘hello’,90) <class ‘tuple’>
如果元组中只包含一个元素,需要用逗号和小括号,否则会报错
#元组中只包含一个元素
t=tuple((10,))
- 空元组
t=() #或者t=tuple()
print()
3,为什么要将元组设计成不可变序列?
- 在多任务环境下,同时操作对象时不需要加锁,因此,在程序中尽量使用不可变序列。
- 注意事项:
- 如果元组中对象本身是不可变对象,则不能再引用其他对象
- 如果元组中对象本身是可变对象,则可变对象的引用不允许改变,但数据可以改变
例如:
t=(45,[20,30],10)
t[0]=100 #把索引为0的元素改为100
print(t)
输出:TypeError
这说明元组是不允许修改数据的
但由于[20,30]是列表,而列表是可变序列,所以可以向列表中添加元素
t=(45,[20,30],10)
t[1].qppend(100)
print(t)
输出:(45,[20,30,100],10)
4.元组的遍历
- 元组是可迭代对象,所以可以使用for-in进行遍历
t=tuple(('hello',90))
for a in t:
print(a)
输出:
‘hello’
90