一.元组的认识
元组与列表相似都是python中常用的一种数据类型,元组与列表的区别如下:
1.元组数据使用括号表示,如tuple(1,2,3)
2.元组中的数据不能够更改,只能读取。
所有元组可以理解为只读列表
二..元组的操作
1.元组的创建
# 元组的创建
# 1.用一个空括号创建一个空元组
a = ()
print(type(a)) # <class 'tuple'>
# 2.一个元素的后面添加','这个元素为元组
a = 1,
print(a) # (1,)
print(type(a)) # <class 'tuple'>
# 3. 通过逗号隔开的方式创建多个元素的元组
a = 1, 2, 3, 4
print(a) # (1, 2, 3, 4)
print(type(a)) # <class 'tuple'>
# 4. 通过一个括号进行创建元组
a = (1, 2, 3)
print(a) # (1, 2, 3)
print(type(a)) # <class 'tuple'>
# 5. 使用tuple()创建元组
a = tuple()
print(a, type(a), sep=' ') # () <class 'tuple'>
# 将其他迭代对象转化为元组
b = tuple(['p', 'y', 't'])
print(b, type(b), sep=' ') # ('p', 'y', 't') <class 'tuple'>
c = tuple('python')
print(c, type(c), sep=' ') # ('p', 'y', 't', 'h', 'o', 'n') <class 'tuple'>
元组的创建大致就是上面几种,可以分为两个大类,一个是使用tuple()去创建,还有一个是用括号或元素后面加' , '来创建
2.元组的访问
与字符串和列表一样,元组的索引也是从0开始,可以用索引来访问元组
a = ('p', 'y', 't', 'h', 1, 2, 3)
print(a[0]) # p
print(type(a[0])) # <class 'str'>
print(a[-1]) # 3
print(type(a[-1])) # <class 'int'>
由上方代码可以了解,元组既可以正向访问也可以反向访问
元组的切片访问:
切片是指对序列截取其中的一部分形成新的列表
语法格式: [起始索引(start):结束索引(stop):步长(step)
切片要点:
1.截取范围:左闭右开
2.步长取值:可正可负,默认即为1
a = ('p', 'y', 't', 'h', 1, 2, 3)
print(a[:]) # ('p', 'y', 't', 'h', 1, 2, 3)
print(a[1:3]) # ('y', 't')
print(a[::2]) # ('p', 't', 1, 3)
step>0时,start默认为0,stop默认为len(list_1)
当step<0时,start默认为-1,stop默认为-len(list_1)
a = ('p', 'y', 't', 'h', 1, 2, 3)
print(a[:]) # ('p', 'y', 't', 'h', 1, 2, 3)
print(a[::-1]) # (3, 2, 1, 'h', 't', 'y', 'p')
3.元组的拼接与重复
元组可以通过' + ' 与 ‘ * ‘进行拼接与重复
1.拼接
tuple1 = (1, 2, 3)
tuple2 = ('a', 'c', 'd')
tuple3 = tuple1 + tuple2 # (1, 2, 3, 'a', 'c', 'd')
2.重复
tuple1 = (1, 2, 3)
tuple4 = tuple3 * 3 # 1, 2, 3, 'a', 'c', 'd', 1, 2, 3, 'a', 'c', 'd', 1, 2, 3, 'a', 'c', 'd')
4.元组中 >= <= == != > <的运用
元组的比较与字符的比较相识,是使用>,>=,<,<=,==,!=进行比较。列表的比较是从第一个元素开始也就是下标为0的元素,如果第一个元素相同则顺势比较下一个元素,直至比较出大小。
tuple4 = (1, 2, 3)
tuple1 = (1, 2, 3)
print(tuple1 == tuple4) # True
tuple4 = (1, 2, 4)
print(tuple1 < tuple4) # True
tuple4 = ('a', 2, 4)
print(tuple1 != tuple4) # True
三.对元组里内容的更改
元组是一个不可变的数据类型,那么如何对元组里的数据进行更改,其实我们可以将列表等可变序列加入元组中,对其内的可变序列进行更改进而达到改变元组的目的
list1 = ['a']
tuple1 = (1, 2, 3, list1)
print(tuple1) # (1, 2, 3, ['a'])
list1[0] = 'b'
print(tuple1) # (1, 2, 3, ['b'])
print(tuple1[-1]) # ['b']
四.元组的内置函数
1.len(tuple) 用于计算元组的元素个数
tuple1 = (1, 2, 3, 4, 5)
print(len(tuple1)) #5
2.max(tuple) 用于返回元组内最大值
tuple2 = (1, 2, 3, 4, 5)
print(max(tuple2)) # 5
3.min(tuple) 用于返回元组内最小值
tuple2 = (1, 2, 3, 4, 5)
print(min(tuple2)) # 1
4. tuple(list) 将列表强制转换为元组
list1 = [1, 2, 3]
print(type(list1))
a = tuple(list1)
print(type(a)) # <class 'tuple'>
5. tuple.index(): 该方法用于获取元组中指定元素的第一次出现的索引值。它接受一个参数作为要查找的元素,并返回该元素在元组中的索引值。如果元素不存在,会引发ValueError错误。
tuple1 = (1, 2, 3, 4, 5)
print(tuple1.index(1)) # 0
6. tuple.count(): 该方法用于统计元组中指定元素的出现次数。它接受一个参数作为要统计的元素,并返回该元素在元组中出现的次数。
tuple2 = (1, 1, 1, 2, 4)
print(tuple2.count(1)) # 3