Python:元组(tuple)
一:作用
二:定义
三:类型转换
四:内置方法
#元组就是一种不可变的列表
一:元组类型的作用
按照索引位置存放一组数据只用于取,而不用于取
二:元组类型的定义
l = (1,2,3,4,5) mm = ('nb','sb','hb','lb') print(l) print(mm)
以上代码执行结果为:
(1, 2, 3, 4, 5) ('nb', 'sb', 'hb', 'lb')
需要注意的是,如果元组中只有一个值,那么必须要在值的后边加一个逗号,否则它就不是一个元组而是包含的意思,只有加了逗号它才是一个元组:
lll = (1) mm = (1,) print(type(lll)) print(type(mm))
以上代码执行结果为:
<class 'int'> <class 'tuple'>
元组的值不可变,如果强行改变元组的值会引发报错:
lll = (1,2,3)
lll[0] = 2
以上代码执行结果为:
Traceback (most recent call last): File "D:\PyCharm\lizi\basis\20200301\元组.py", line 11, in <module> lll[0] = 2 TypeError: 'tuple' object does not support item assignment
但如果元组中包含一个列表,那么可以修改列表的值:
lll = ([77,88,99],2,3) lll[0][2] = 66 print(lll)
以上代码执行结果为:
([77, 88, 66], 2, 3)
三:元组类型的转换
lll = 'hello' mmm = 3 sss = [1,2,3,4,5] print(1,type(lll)) print(2,type(mmm)) print(3,type(sss)) print(4,type(tuple(lll))) print(6,type(tuple(sss))) print(5,type(tuple(mmm)))
以上代码执行结果为:
1 <class 'str'> 2 <class 'int'> 3 <class 'list'> 4 <class 'tuple'> 6 <class 'tuple'> Traceback (most recent call last): File "D:\PyCharm\lizi\basis\20200301\元组.py", line 23, in <module> print(5,type(tuple(mmm))) TypeError: 'int' object is not iterable
int类型数据只能转为str或float,转为其他类型会报错
四:元组类型的内置方法
元组类型的方法同列表类型一样,不过元组不支持修改,所以它只能切片取,而list其它的insert,del方法元组都没有