Python基础学习06--元组
元组
元组可以看成是一个不可更改的list
元组的特性
- 是有序的
- 元组数据值可以访问,不能修改,不能修改,不能修改!
- 元组数据可以是任意类型
- list所有特性,除了可增删改外,元组都具有
- list具有的一些操作,比如索引,分片,序列相加,相乘,成员资格操作等,元组同样具有
创建元组
# 创建空元组 tuple1 = () print('tuple1的数据类型为:',type(tuple1)) print('tuple1 = ',tuple1) # 创建存在数据的元组 tuple2 = (1,) print('tuple2的数据类型为:',type(tuple2)) print('tuple2 = ',tuple2) tuple3 = 1, print('tuple3的数据类型为:',type(tuple3)) print('tuple3 = ',tuple3) # 创建包含多个数据的元组 tuple4 = (1,2,3,4,'5') print('tuple4的数据类型为:',type(tuple4)) print('tuple4 = ',tuple4) # 通过tuple函数创建 tuple5 = tuple([1,2,[1,2]]) print('tuple5的数据类型为:',type(tuple5)) print('tuple5 = ',tuple5)
输出结果如下:
tuple1的数据类型为: <class 'tuple'> tuple1 = () tuple2的数据类型为: <class 'tuple'> tuple2 = (1,) tuple3的数据类型为: <class 'tuple'> tuple3 = (1,) tuple4的数据类型为: <class 'tuple'> tuple4 = (1, 2, 3, 4, '5') tuple5的数据类型为: <class 'tuple'> tuple5 = (1, 2, [1, 2])
元组的sequence操作
# 查看元组中的某一数据 tuple6 = (1,2,3,4,'5') print('tuple6[4] = ',tuple6[4]) # 切片操作 print('tuple6[1:4]的值:',tuple6[1:4]) # 切片后的元组为新的元组 tuple7 = tuple6[1::2] # [1::2]解析:取下标为1的及之后所有数据,步长为2 print('tuple6[1::2]的值:',tuple7) print('tuple6的id为:',id(tuple6)) print('tuple7的id为:',id(tuple7))
输出的结果如下:
tuple6[4] = 5 tuple6[1:4]的值: (2, 3, 4) tuple6[1::2]的值: (2, 4) tuple6的id为: 10136576 tuple7的id为: 11927504
元组的数据不可修改
# 对元组内的数据进行修改 tuple8 = (1,2,3,4,5) tuple8[1] = 100
输出结果如下:修改tuple内容会导致报错
TypeError: 'tuple' object does not support item assignment
元组的常用方法
tuple8 = (1,2,3,4,5,1,'2',3,1,2) print('tuple8 =',tuple8) # count()方法,获取到指定元素在该元组中出现的次数 n = tuple8.count(2) print('tuple8中整数2出现的次数有:',n,'次') # index()方法,获取到指定元素在该元组的索引位置 # 如果需要查找的指定元素存在多个,则返回第一个的索引值 idx = tuple8.index(2) print('tuple8中整数2的索引位置为:',idx)
输出的结果如下:
tuple8 = (1, 2, 3, 4, 5, 1, '2', 3, 1, 2) tuple8中整数2出现的次数有: 2 次 tuple8中整数2的索引位置为: 1