概述:
- 与list类似,但tuple是不可变序列,即:创建后不支持增删改,元组中的元素、位置不可改变
- 可以存储任意类型
应用场景
函数返回多个元素时,本质返回 tuple
声明
标准:
>t=(1,2,3.14,"李现")
>type(t)
省略式:
>t=1,2,3.14,'肯德基'
>type(t)
tuple中只包含一个元素
>t=("世界杯")
>type(t)
显示如下:
<class 'str'>
继续看:
>t=(1)
>type(t)
显示如下:
<class 'int'>
原因是:当元祖中只包含一个元素时,声明如下:
>t=(1,)
>type(t)
>t=('世界杯',)
>type(t)
访问tuple的元素
访问某一个元素
同list
>l[0]
访问后几个元素
到第一个元素,可以写成下面形式:
>l[-1]
访问范围:从头开始截取
>l[0:2]
显示:[1,2],返回索引是0到2(不包含2)的元素
简化写法
从头开始截取,不需要写第一个数
>l[ :2]
访问范围:截取到末尾
>l[2 :4]
简化写法
截取到末尾,不需要写第二个数
>l[2:]
显示:[1, 2, 3.14, ‘鹿晗’],返回索引从2到最后的元素
改变元素
追加元素
>>> t.append(10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
提示错误
tuple不可改变
修改tuple里面的元素
>>> t[0]=2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
如上,会提示错误
tuple不可改变
删除元素
不能删除元素,否则报错,如下:
del t[0]
将list转换为tuple
> l=[1,2,3]
> l
[1, 2, 3]
> t=tuple(l)
> t
(1, 2, 3)
>>>
应用场景
函数返回多个元素时,本质返回 tuple
fun add():
return 1,2,3,4
res = add()
print( type(res) )
print( res )