python的tuple(元组) 作者:马育民 • 2018-06-30 22:40 • 阅读:10213 # 概述: 1. 与list类似,但tuple是不可变序列,即:创建后不支持增删改,元组中的元素、位置不可改变 2. 可以存储任意类型 ### 应用场景 函数返回多个元素时,本质返回 `tuple` # 声明 ### 标准: ```python >t=(1,2,3.14,"李现") >type(t) ``` ### 省略式: ```python >t=1,2,3.14,'肯德基' >type(t) ``` ### tuple中只包含一个元素 ```python >t=("世界杯") >type(t) ``` 显示如下: ```python ``` 继续看: ```python >t=(1) >type(t) ``` 显示如下: ```python ``` 原因是:当元祖中只包含一个元素时,声明如下: ```python >t=(1,) >type(t) >t=('世界杯',) >type(t) ``` # 访问tuple的元素 ## 访问某一个元素 同list ```python >l[0] ``` #### 访问后几个元素 到第一个元素,可以写成下面形式: ```python >l[-1] ``` ## 访问范围:从头开始截取 ```python >l[0:2] ``` 显示:[1,2],返回索引是0到2(不包含2)的元素 #### 简化写法 从头开始截取,不需要写第一个数 ```python >l[ :2] ``` ## 访问范围:截取到末尾 ```python >l[2 :4] ``` #### 简化写法 截取到末尾,不需要写第二个数 ```python >l[2:] ``` 显示:[1, 2, 3.14, '鹿晗'],返回索引从2到最后的元素 # 改变元素 ## 追加元素 ```python >>> t.append(10) Traceback (most recent call last): File "", line 1, in AttributeError: 'tuple' object has no attribute 'append' ``` 提示错误 tuple不可改变 ## 修改tuple里面的元素 ```python >>> t[0]=2 Traceback (most recent call last): File "", line 1, in TypeError: 'tuple' object does not support item assignment ``` 如上,会提示错误 tuple不可改变 ## 删除元素 不能删除元素,否则报错,如下: ``` del t[0] ``` # 将list转换为tuple ```python > 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 ) ``` 原文出处:http://www.malaoshi.top/show_1EF1QSk7wCkQ.html