PYTHON小白笔记04

142 阅读4分钟

--此系列主要记录一些本人作为一个小白在python学习上遇到的一些重要知识点和易错点的总结,开坑,希望能够坚持到学有所成。

day04:数据容器02(元组)

一·定义格式以及特点

核心内容:

# 1.定义空元组
tuple1 = ()
print(tuple1)
# 注意: 可以使用类型()方式定义空元组
tuple2 = tuple()
print(tuple2)

# 2.定义非空元组
tuple3 = ('张三', '李四', '王五', '赵六')
print(tuple3)
# 注意: 元组可以存储不同类型数据,但是不建议
tuple4 = ('张三', 10, 3.14, True, None)
print(tuple4)

# 定义嵌套元组
big_tuple = (tuple1, tuple2, tuple3, tuple4)
print(big_tuple)

# 注意:如果元组中只有一个元素需要加逗号
tuple5 = ('张三',)
print(tuple5, type(tuple5))

意义:作为存储多个元素的python类型容器的其中之一

特点:可以容纳多个元素

是否可以混装: 可以容纳不同类型的元素(混装)

是否有下标索引: 数据是有序存储的(有下标序号)

是否允许重复数据: 允许重复数据存在

是否支持元素修改操作: 不支持修改(增加或删除元素等)

易错点:

元组对比列表的最大区别就是无法修改容器内的元素

二·元组的下标索引

核心内容:总体来讲与列表的下标索引没有区别

下标索引: 本质就是每个元素对应的编号,但是需要注意的是有两套索引

正索引: 从前到后,从0开始,依次递增

负索引: 从后到前,从-1开始,依次递减

根据索引找元素: 元组名[索引下标]

元组中最大索引: len(元组)-1
示例:

# 需求1: 定义一个元组,存储'张三','李四','王五','赵六'
name_tuple = ('张三', '李四', '王五', '赵六')
print(name_tuple)

# 需求2: 查找并打印出第一个元素
# 方式1: 正索引(建议)
name = name_tuple[0]
print(name)
# 方式2: 负索引
name = name_tuple[-4]
print(name)

# 需求3: 查找并打印出第最后一个元素
# 方式1: 正索引
print(name_tuple[3])
# 方式2: 负索引(建议)
print(name_tuple[-1])

三·元组的增删查改

由于元组的特点是不支持元素的修改,所以元组并没有相关的增删改操作

查询操作:

根据索引查询指定位置上的元素: 元组名[索引]

查询元组中元素的总个数: length = len(元组名)

查询指定元素出现的次数: count = 元组名.count(元素) 注意: 查找的元素如果不存在就返回0

查询指定元素的索引位置: index = 元组名.index(元素) 注意: 如果查找的元素不存在就报错: ValueError: 60 is not in tuple
示例:

# 已知元组存储了10,20,30,40,50按照以下需求分别做下查询操作
# 需求1: 定义元组存储10,20,30,40,50,10, 10, 30, 10
num_tuple = (10, 20, 30, 40, 50, 10, 10, 30, 10)
print(num_tuple)

# 需求2: 查询元组中元素的个数
size = len(num_tuple)
print(f'元组中一共有{size}个元素')

# 需求3: 查询10这个元素出现了几次
count = num_tuple.count(10)
print(f'10这个元素一共出现了{count}次')
# 注意: 查找的元素如果不存在就返回0
count = num_tuple.count(60)
print(f'10这个元素一共出现了{count}次')

# 需求4: 查询30这个元素的索引位置
index = num_tuple.index(30)
print(f'30这个元素的索引位置是:{index}')
# 注意: 如果查找的元素不存在就报错: ValueError: 60 is not in tuple
index = num_tuple.index(60)
print(f'30这个元素的索引位置是:{index}')

四·元组的遍历

示例:

# 定义一个元组存储'张三','李四','王五'
name_tuple = ('张三', '李四', '王五')
print(name_tuple)
# 方式1: for循环遍历:一个个取出赋值给临时变量
for name in name_tuple:
    # 直接输出每个元素
    print(name)

print('------------------------')
# 方式2: while循环遍历: 变量作为索引使用
# 1.定义初始变量,初始值0
index = 0
# 2.条件判断,索引不能超出范围,最大索引: len(容器)-1
while index < len(name_tuple):
    # 3.循环体,每次根据索引查找元素并打印
    name = name_tuple[index]
    print(name)
    # 4.条件控制
    index += 1