7、元组的定义
- 单元素元组: 变量 = (数据,)
- 多元素元组:变量 = (数据1, 数据2, 数据3…)
代码语言:javascript
复制# 元组:可以储存多个数据,但是元组内的数据不能被修改(元定义后只能被查询)
# 元组的定义:变量 = (数据1, 数据2, 数据3......)
tuple1 = (1, 2, 3, 4)
# 打印后可以展示元组中的全部信息
print(tuple1) # (1, 2, 3, 4)
# 查询数据类型
print(type(tuple1)) # <class 'tuple'>
# 如果元组中只有一个元素怎么办? 在单一元素后添加逗号
tuple2 = (10)
print(type(tuple2)) # <class 'int'>
tuple3 = ('10')
print(type(tuple3)) # <class 'str'>
tuple4 = (10,)
print(type(tuple4)) # <class 'tuple'>
# 如果小括号包裹单一元素数据不添加逗号,则小括号的意义是提升算术运算符优先级
# 在定义元素或者传值时,元组的括号可以省略
tuple5 = 1, 2, 3, 4, 5
print(tuple5) # (1, 2, 3, 4, 5)
print(type(tuple5)) # <class 'tuple'>
tuple6 = 5,
print(tuple6) # (5,)
print(type(tuple6))
tuple7 = (1,2,3,)
print(tuple7)
8、元组的相关操作
- 元组中的数据不能增删改,所以只能查询
- 元组的查询方式
- 索引查询:和列表的使用方式一致
- index :从左至右查询指定元素在元组中第一次出现的位置索引,如果存在则返回正向索引,如果不存在则报错
- count:查询指定元素在元组中出现的次数
- len:查询元组的长度:也就是查询元组中元素的个数
代码语言:javascript
复制# 元组的增删改:由于元组中的数据不可修改,所以元组中的数据不能进行增删改操作
tuple1 = (1, 2, 3, 4)
# 修改
print(tuple1[2])
# TypeError: 'tuple' object does not support item assignment
# 元组中的数据不能修改
# tuple1[2] = 6
# 删除
# TypeError: 'tuple' object doesn't support item deletion
# 元组中的数据不能删除
# del tuple1[2]
# 查询
# 通过索引进行查询
# 查询方法和列表一致
# 正向索引,从0开始,从左至右依次递增
# 负向索引,从-1开始,从右至左依次递减
tuple1 = (1, 2, 3, 4, 3)
# 需求:通过正向索引取出3
print(tuple1[2])
# 需求:通过负向索引取出3
print(tuple1[-2])
# index 查询指定元素在元组中所在的位置索引
# 需求:查询3所对应的索引值
# index是从左至右依次查询,返回第一个查到的数据的正向索引值
print(tuple1.index(3)) # 2
# 如果查询的内容不存在,则报错
# print(tuple1.index(8)) # ValueError: tuple.index(x): x not in tuple
# count 查询指定元素在元组中出现的次数
print(tuple1.count(3)) # 2
print(tuple1.count(1)) # 1
# len 查询元组的长度(对所有容器适用) 长度就是计算当前容器中有多少个元素
print(len(tuple1)) # 5
# 其实len()就是调用了括号内对象的__len__方法
print(tuple1.__len__()) # 5