元组类型
-
python的元组属于不可变类型,常应用于读取,而不是去修改;不可变,顾名思义,就是不可改变,元组里的值是不可以改变,但是元组里面的值得值是可以改变。
-
元组的定义方式是一个小括号
>>> my_tuple = ('a','b','c') >>> my_tuple ('a', 'b', 'c') # 其实元组的定义方式并不是小括号,而是逗号 >>> my_tuple = (1) >>> type(my_tuple) <class 'int'> # type函数是查看类型的,可以看到类型是整数 >>> my_tuple = 1, >>> type(my_tuple) <class 'tuple'> # 就算不加小括号有逗号,类型也是元组类型,所以说元组的定义方式是逗号
-
证明一下元组是不可变的
>>> my_tuple = ('a','b','c',['A','B']) >>> my_tuple[0] = 'aaa' # 这里可以看到改变元组的值发生了报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment # 为什么说元组里面的值的值是可以改变的呢,提前用到了另外一个数据类型"列表,列表是可变的数据类型所以在这里的值是可以改变的 >>> my_tuple[3][0] = 'AAA' >>> my_tuple ('a', 'b', 'c', ['AAA', 'B'])
-
元组的常用方法
# 因为元组是不可变的,所以常用的只有切片和统计和查找 >>> my_tuple = ('a','b','c','a','b') >>> my_tuple.count('a') # 统计出现的次数 2 >>> my_tuple.count('c') 1 >>> my_tuple.index('c') # 获取匹配的索引位置 2 >>> my_tuple.index('a') 0 >>> my_tuple[0:2] # 进行切片查找 ('a', 'b') >>> my_tuple[1:3] ('b', 'c')
-