元组
元组的应⽤场景
思考:如果想要存储多个数据,但是这些数据是不能修改的数据,怎么做?
答:列表?列表可以⼀次性存储多个数据,但是列表中的数据允许更改。
num_list = [10, 20, 30]num_list[0] = 100
定义元组
⼀个元组可以存储多个数据,元组内的数据是不能修改的。
# 多个数据元组t1 = (10, 20, 30)# 单个数据元组t2 = (10,)
注意:如果定义的元组只有⼀个数据,那么这个数据后⾯也好添加逗号,否则数据类型为唯⼀的
这个数据的数据类型
t2 = (10,)print(type(t2)) # tuplet3 = (20)print(type(t3)) # intt4 = ('hello')print(type(t4)) # str
常⻅操作
按下标查找数据
tuple1 = ('aa', 'bb', 'cc', 'bb')print(tuple1[0]) # aa
index():查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index⽅法相同
tuple1 = ('aa', 'bb', 'cc', 'bb')print(tuple1.index('aa')) # 0
count():统计某个数据在当前元组出现的次数
tuple1 = ('aa', 'bb', 'cc', 'bb')print(tuple1.count('bb')) # 2
len():统计元组中数据的个数。
tuple1 = ('aa', 'bb', 'cc', 'bb')print(len(tuple1)) # 4
注意:元组内的直接数据如果修改则⽴即报错
tuple1 = ('aa', 'bb', 'cc', 'bb')tuple1[0] = 'aaa'
但是如果元组⾥⾯有列表,修改列表⾥⾯的数据则是⽀持的
tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30)print(tuple2[2]) # 访问到列表# 结果:(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)tuple2[2][0] = 'aaaaa'print(tuple2)
