day06 课程(列表 & 列表常用操作 & 元组 & 元祖常用操作)
课程:https://www.bilibili.com/video/BV1o4411M71o?spm_id_from=333.788.videopod.episodes&p=110
6.1 列表简介
6.1.1 目标
列表的应用场景
列表的格式
列表的常用操作
列表的循环遍历
列表的嵌套使用
6.1.2 列表的应用场景
思考:有一个人的姓名(TOM)怎么书写存储程序?
答:变量
思考:如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明 100 个变量吗?
答:列表既可,列表一次性可以存储多个数据
6.1.3 列表的格式
[数据1, 数据2, 数据3, ..... ]
列表可以一次性存储多个数据,且可以为不同数据类型,尽量相同类型便于后期控制
6.2 下标
6.2.1 列表的常用操作
列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:增、删、改、查
6.2.2 下标
name_list = ["TOM","Lily","ROSE"] print(name_list) print(name_list[0]) # TOM print(name_list[1]) # Lily print(name_list[2]) # ROSE ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\02.下标.py ['TOM', 'Lily', 'ROSE'] TOM Lily ROSE Process finished with exit code 0
6.3 查找函数
6.3.1 index
index():返回指定数据所在位置的下标
(1)语法
列表序列.index(数据, 开始位置下标, 结束位置下标) # 位置下标可以不写,即默认查找全部
(2)快速体验
name_list = ["TOM","Lily","ROSE","Lily"] print(name_list.index('Lily')) # 存在则返回存在的第一个位置下标 print(name_list.index('Lily',2,4)) # 按照下标区间查找,有则返回存在位置下标 print(name_list.index('Lilys')) # 不存在报错 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\03.查找函数.py 1 3 Traceback (most recent call last): File "D:\Pycharm\code\day06\03.查找函数.py", line 8, in <module> print(name_list.index('Lilys')) # 不存在报错 ~~~~~~~~~~~~~~~^^^^^^^^^ ValueError: 'Lilys' is not in list Process finished with exit code 1
注意:如果查找的数据不存在则报错
6.3.2 count
count():统计指定数据在当前列表中出现的次数,没有显示 0 次,不会报错
name_list = ["TOM","Lily","ROSE","Lily"] print(name_list.count("TOM")) # 出现 1 次 print(name_list.count("Lily")) # 出现 2 次 print(name_list.count("Lilys")) # 出现 0 次 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\03.查找函数.py 1 2 0 Process finished with exit code 0
6.3.3 len
len():访问列表长度,即列表中数据的个数
name_list = ["TOM","Lily","ROSE","Lily"] print(len(name_list)) # 4 个, 列表中数据总个数 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\03.查找函数.py 4 Process finished with exit code 0
6.4 判断是否存在
6.4.1 in
in:判断指定数据在某个列表序列,如果在返回 True,不在返回 False
name_list = ["TOM","Lily","ROSE","Lily"] print('Lily' in name_list) # 存在 返回 True print('Lilys' in name_list) # 不存在 返回 False ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\04.判断是否存在.py True False Process finished with exit code 0
6.4.2 not in
not in:判断指定数据不在某个列表序列,如果不在返回 True,在返回 False
name_list = ["TOM","Lily","ROSE","Lily"] print('Lily' not in name_list) # 存在 返回 False print('Lilys' not in name_list) # 不存在 返回 True ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\04.判断是否存在.py False True Process finished with exit code 0
6.5 体验案例 判断是否存在
需求:查找用户输入的名字是否已经存在
name_list = ["TOM","Lily","ROSE"] name = input("请输入你要查询的姓名:") if name in name_list: print("输入的姓名是 %s ,此用户名已经存在" % name) else: print("输入的姓名是 %s ,可以注册" % name) ------------------------------------------------ 第一次执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe "D:\Pycharm\code\day06\05.体验案例 判断是否存在.py" 请输入你要查询的姓名:aaa # 当输入 aaa 时 输入的姓名是 aaa ,可以注册 Process finished with exit code 0 ------------------------------------------------ 第二次执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe "D:\Pycharm\code\day06\05.体验案例 判断是否存在.py" 请输入你要查询的姓名:Lily # 当输入 Lily 时 输入的姓名是 Lily ,此用户名已经存在 Process finished with exit code 0
6.6 列表增加数据之append
作用:增加指定数据到列表中
6.6.1 语法
append():列表结尾追加数据
列表序列.append(数据)
6.6.2 快速体验
name_list = ["TOM","Lily","ROSE"] print(name_list) # 原列表数据 name_list.append("xiaonan") # 追加数据 print(name_list) # 追加后列表数据 name_list.append("[11 , 22]") # 追加列表到列表数据 print(name_list) # 追加的列表数据被整个写入 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\06.列表增加数据之append.py ['TOM', 'Lily', 'ROSE'] ['TOM', 'Lily', 'ROSE', 'xiaonan'] ['TOM', 'Lily', 'ROSE', 'xiaonan', '[11 , 22]'] Process finished with exit code 0
注意:列表追加数据的时候,直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变类型数据
6.6.3 注意
如果 append() 追加的数据是一个序列,则追加整个序列到列表
name_list = ["TOM","Lily","ROSE"] print(name_list) # 原列表数据 name_list.append("[11 , 22]") # 追加列表数据是一个序列 print(name_list) # 追加的列表数据整个写入 即追加整个序列到列表 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\06.列表增加数据之append.py ['TOM', 'Lily', 'ROSE'] ['TOM', 'Lily', 'ROSE', 'xiaonan', '[11 , 22]'] Process finished with exit code 0
6.7 列表增加数据之extend
extend():列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
6.7.1 语法
列表序列.extend(数据)
6.7.2 快速体验
name_list = ["TOM","Lily","ROSE"] print(name_list) # 原列表数据 name_list.extend("xiaonan") # 追加数据,拆分每个追加 print(name_list) # 追加后列表数据 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\07.列表增加数据之extend.py ['TOM', 'Lily', 'ROSE'] ['TOM', 'Lily', 'ROSE', 'x', 'i', 'a', 'o', 'n', 'a', 'n'] Process finished with exit code 0
6.7.3 注意
name_list = ["TOM","Lily","ROSE"] print(name_list) # 原列表数据 name_list.extend([11 , 22]) # 追加列表到列表数据 print(name_list) # 追加的列表数据被拆分,逐一追加写入 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\07.列表增加数据之extend.py ['TOM', 'Lily', 'ROSE'] ['TOM', 'Lily', 'ROSE', 11, 22] Process finished with exit code 0
6.8 列表增加数据之insert
insert():指定位置新增数据
6.8.1 语法
列表序列.insert(位置下标,数据)
6.8.2 快速体验
name_list = ["TOM","Lily","ROSE"] print(name_list) # 原列表数据 name_list.insert(1,'xiaonan') # 插入固定位置到列表 print(name_list) # 插入的数据在固定位置 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\08.列表增加数据之insert.py ['TOM', 'Lily', 'ROSE'] ['TOM', 'xiaonan', 'Lily', 'ROSE'] Process finished with exit code 0
6.9 列表删除数据
6.9.1 del
(1)语法
del 目标
(2)快速体验2种方法
name_list = ["TOM","Lily","ROSE"] print(name_list) del name_list # 删除列表 print(name_list) # 打印报错,不存在列表 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\09.列表删除数据.py Traceback (most recent call last): ['TOM', 'Lily', 'ROSE'] File "D:\Pycharm\code\day06\09.列表删除数据.py", line 7, in <module> print(name_list) # 打印报错,不存在列表 ^^^^^^^^^ NameError: name 'name_list' is not defined Process finished with exit code 1
name_list = ["TOM","Lily","ROSE"] print(name_list) del(name_list) # 删除列表 print(name_list) # 打印报错,不存在列表 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\09.列表删除数据.py ['TOM', 'Lily', 'ROSE'] Traceback (most recent call last): File "D:\Pycharm\code\day06\09.列表删除数据.py", line 9, in <module> print(name_list) # 打印报错,不存在列表 ^^^^^^^^^ NameError: name 'name_list' is not defined Process finished with exit code 1
(3)角标删除
注意:del 可以删除指定下标的数据
name_list = ["TOM","Lily","ROSE"] print(name_list) del name_list[1] # 删除指定下标的数据 print(name_list) # 打印删除后列表 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\09.列表删除数据.py ['TOM', 'Lily', 'ROSE'] ['TOM', 'ROSE'] Process finished with exit code 0
6.9.2 pop
pop():删除指定下标的数据,如果不指定下标,默认删除最后一个数据,无论是按照下标还是删除最后一个,pop 函数
(1)语法
列表序列.pop()
(2)快速体验默认
name_list = ["TOM","Lily","ROSE"] print(name_list) # 打印原列表 del_name = name_list.pop() # 因为可以返回删除的数据,所以可以用变量接收 print(name_list) # 打印删除后列表,不写角标,默认删除最后一个数据 print(del_name) # 删除的变量可以会返回 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\09.列表删除数据.py ['TOM', 'Lily', 'ROSE'] ['TOM', 'Lily'] ROSE Process finished with exit code 0
(3)快速体验带角标
name_list = ["TOM","Lily","ROSE"] print(name_list) # 打印原列表 del_name = name_list.pop(1) # 用变量接收 print(name_list) # 打印删除后列表,写角标,角标数据被删除 print(del_name) # 删除的变量可以会返回 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\09.列表删除数据.py ['TOM', 'Lily', 'ROSE'] ['TOM', 'ROSE'] Lily Process finished with exit code 0
6.9.3 remove
remove():移除列表中某个数据的第一匹配项
(1)语法
列表序列.remove('数据')
(2)快速体验
name_list = ["TOM","Lily","ROSE","TOM"] print(name_list) # 打印原列表 name_list.remove('TOM') # 删除第一个匹配到的数据 print(name_list) # 打印删除后的列表 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\09.列表删除数据.py ['TOM', 'Lily', 'ROSE', 'TOM'] ['Lily', 'ROSE', 'TOM'] Process finished with exit code 0
6.9.4 clear
clear():清空列表
(1)语法
列表序列.clear()
(2)快速体验
name_list = ["TOM","Lily","ROSE","TOM"] print(name_list) # 打印原列表 name_list.clear() # 清空列表 print(name_list) # 打印清空后列表 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\09.列表删除数据.py ['TOM', 'Lily', 'ROSE', 'TOM'] [] Process finished with exit code 0
6.10 列表修改数据
6.10.1 修改
修改指定下标数据
name_list = ["TOM","Lily","ROSE","TOM"] print(name_list) # 打印原列表 name_list[0] = "aaa" # 对角标重新赋值 print(name_list) # 打印列表 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\10.列表修改数据.py ['TOM', 'Lily', 'ROSE', 'TOM'] ['aaa', 'Lily', 'ROSE', 'TOM'] Process finished with exit code 0
6.10.2 逆置排序
name_list = [1, 2, 3, 4, 5, 6] print(name_list) # 打印原列表 name_list.reverse() # 逆序排序 print(name_list) # 打印列表 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\10.列表修改数据.py [1, 2, 3, 4, 5, 6] [6, 5, 4, 3, 2, 1] Process finished with exit code 0
6.10.3 排序
(1)语法
列表序列.sort( key = none, reverse = False)
注意:reverse 表示排序规则,reverse = True 降序,reverse = False 升序 (默认)
(2)升序
name_list = [1, 4, 6, 3, 5, 2] print(name_list) # 打印原列表 name_list.sort() # 默认升序排序 print(name_list) # 打印列表 name_list.sort(reverse= False ) # False,升序排序,也是默认的排序 print(name_list) # 打印列表 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\10.列表修改数据.py [1, 4, 6, 3, 5, 2] [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6] Process finished with exit code 0
(3)降序
name_list = [1, 4, 6, 3, 5, 2] print(name_list) # 打印原列表 name_list.sort(reverse= True ) # True,降序排序 print(name_list) # 打印列表 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\10.列表修改数据.py [1, 4, 6, 3, 5, 2] [6, 5, 4, 3, 2, 1] Process finished with exit code 0
6.11 列表复制数据
函数:copy()
name_list = ["TOM","Lily","ROSE","TOM"] print(name_list) # 打印原列表 list2 = name_list.copy() # 复制列表,用新的列表接收 print(name_list) # 原列表还在 print(list2) # 新列表一样 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\11.列表复制数据.py ['TOM', 'Lily', 'ROSE', 'TOM'] ['TOM', 'Lily', 'ROSE', 'TOM'] ['TOM', 'Lily', 'ROSE', 'TOM'] Process finished with exit code 0
6.12 列表的遍历之while
需求:依此打印列表中的各个数据
name_list = ["TOM","Lily","ROSE"] print(f'列表中的数量为: {len(name_list)}') i = 0 while i < len(name_list): # len 返回列表中的个数 print(name_list[i]) # 取 name_lsit[0]/name_lsit[1]/name_lsit[2] 中的数据 i += 1 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\12.列表的遍历之while.py 列表中的数量为: 3 TOM Lily ROSE Process finished with exit code 0
6.13 列表的遍历之for
name_list = ["TOM","Lily","ROSE"] print(f'列表中的数量为: {len(name_list)}') for i in name_list: # 列表中数据 print(i) # 直接打印数据 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\13.列表的遍历之for.py 列表中的数量为: 3 TOM Lily ROSE Process finished with exit code 0
6.14 列表嵌套
列表嵌套指的就是一个列表里面包含了其他的子列表
应用场景:要存储班级一、二、三 3个班级学生姓名,且每个班级的学生姓名在一个列表中
name_list = [["小明","小红","小绿"],["Tom","Lily","Rose"],["张三","李四","王五"]]
思考:如何查找到数据“小绿”?
name_list = [["小明","小红","小绿"],["Tom","Lily","Rose"],["张三","李四","王五"]] print(name_list) print(f'取某个子列表: {name_list[0]}') print(f'嵌套列表取某个子列表中数据: {name_list[0][2]}') ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\14.列表嵌套.py [['小明', '小红', '小绿'], ['Tom', 'Lily', 'Rose'], ['张三', '李四', '王五']] 取某个子列表: ['小明', '小红', '小绿'] 嵌套列表取某个子列表中数据: 小绿 Process finished with exit code 0
6.15 随机分配办公室的步骤分析
需求:有三个办公室,8位老师,8位老师随机分配到3个办公室
""" 步骤拆解: 1.准备数据 1.1 8位老师 -- 列表 1.2 3个办公室 -- 列表嵌套 2.分配老师到办公室 *** 随机分配 把老师的名字写入到办公室列表 -- 办公室列表追加老师名字 3.验证是否分配成功 打印每个办公室人数和对应老师的名字 """
6.16 随机分配办公室的实现代码
import random # 1.准备数据 teachers = ["a","b","c","d","e","f","g","h"] offices = [[], [], []] # 2.分配老师到办公室 遍历老师列表中的数据 for name in teachers: # 8个老师遍历 # 列表追加数据 append(名字不能拆分,选中) extend insert num = random.randint(0,2) # 让办公室成为随机 0 , 1 ,2 三个教室 # print(num) # 测试是否随机 offices[num].append(name) # 为了更贴合生活,把各个办公室子列表加一个办公室编号 1 ,2 ,3 i = 1 # 3.验证是否分配成功 for office in offices: # office 是 offices列表中的子列表 print(f"办公室 {i} 的总人数: {len(office)} , 教师分别是:") # print("办公室 %s 的总人数 %s,教师是 %s" % (i, len(office) ,office)) # print 格式化输出的另一种方式 for name in office: # 遍历分配后办公室的老师 print(name, end="\t") # 输出老师名字,同时让同一办公室老师在一行 print("") # 打印完一个办公室换行 i += 1 ------------------------------------------------ 执行一次,每次执行办公室人数都是随机的 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\15.随机分配办公室的实现代码.py 办公室 1 的总人数: 3 , 教师分别是: b e h 办公室 2 的总人数: 4 , 教师分别是: c d f g 办公室 3 的总人数: 1 , 教师分别是: a Process finished with exit code 0
6.17 列表总结
列表的格式
[数据1, 数据2, 数据3, ..... ]
常用操作方法
index()
len()
append()
pop()
remove()
列表嵌套
name_list = [["小明","小红","小绿"],["Tom","Lily","Rose"],["张三","李四","王五"]] name_list[0][2]
6.18 体验元组
6.18.1 目标
元组的应用场景
定义元组
元组常见操作
6.18.2 元组的应用场景
思考:如果想要存储多个数据,但是这些数据是不能修改的数据,怎么做?
答:列表?列表是可以一次性存储多个数据,但是列表中的数据允许更改
num_list = [10 , 20 , 30] # 原列表 num_list[0] = 100 # 更改 print(num_list) # 发生更改后 ------------------------------------------------ 执行后 [100, 20, 30]
一个元组可以存储多个数据,元组内的数据是不能修改的
t1 = (10, 20, 30) print(t1) print(type(t1)) ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\16.体验元组.py (10, 20, 30) <class 'tuple'> Process finished with exit code 0
6.19 定义元组
元组特点:定义元组使用小括号,且 逗号 隔开各个数据,数据可以是不同的数据类型
# 多个数据元组 t1 = (10, 20, 30) print(type(t1)) # 单个数据元组 t2 = (10,) print(type(t2)) # 元组类型 t3 = (10) print(type(t3)) # 没有逗号,为 int 数据类型 t4 = ('xiaoming',) print(type(t4)) # 元组类型 t5 = ('xiaoming') print(type(t5)) # 没有逗号,为 str 数据类型 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\17.定义元组.py <class 'tuple'> <class 'tuple'> <class 'int'> <class 'tuple'> <class 'str'> Process finished with exit code 0
注意:如果定义的元组只有一个数据,那么这个数据后面也要添加逗号,否则数据类型为唯一的这个数据的数据类型
6.20 元组常见操作之查找
元组数据不支持修改,只支持查找,具体如下:
6.20.1 下标查找
按下标查找数据
t1 = ("aa", "bb", "cc", "dd") print(t1[2]) # 按照下标查找数据 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\18.元组常见操作之查找.py cc Process finished with exit code 0
6.20.2 index
index():查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的 index方法相同
t1 = ("aa", "bb", "cc", "dd") print(t1.index("bb",0,4)) # 查找数据的下标,带有下标的位置从 0 到4 print(t1.index("bbb",0,4)) # 查找的数据不在,则报错 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\18.元组常见操作之查找.py 1 Traceback (most recent call last): File "D:\Pycharm\code\day06\18.元组常见操作之查找.py", line 7, in <module> print(t1.index("bbb",0,4)) # 查找的数据不在报错 ~~~~~~~~^^^^^^^^^^^ ValueError: tuple.index(x): x not in tuple Process finished with exit code 1
6.20.3 count
count():统计某个数据在当前元组出现的次数
t1 = ("aa", "bb", "cc", "dd") print(t1.count("aa")) # 查找数据在元组中出现的次数 print(t1.count("aaa")) # 没有显示出现 0 次 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\18.元组常见操作之查找.py 1 0 Process finished with exit code 0
6.20.4 len
len():统计元组中数据的个数
t1 = ("aa", "bb", "cc", "dd") print(len(t1)) # 统计元组中的个数 ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\18.元组常见操作之查找.py 4 Process finished with exit code 0
6.21 元组数据的修改操作
注意:元组内的直接数据如果修改会立即报错
t1 = ("aa", "bb", "cc", "dd") t1[0] = "aaa" ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\19.元组数据的修改操作.py Traceback (most recent call last): File "D:\Pycharm\code\day06\19.元组数据的修改操作.py", line 5, in <module> t1[0] = "aaa" ~~^^^ TypeError: 'tuple' object does not support item assignment Process finished with exit code 1
但是如果元祖里面有列表,修改列表里面的数据是支持的
t2 = ("aa", "bb", ["cc" , "dd"], "dd") print(t2) # 打印原元组 t2[2][0] = "cccccc" # 修改元组中的列表数据 print(t2) # 打印新元祖(没办法直接修改元组,可以修改元组中列表的数据) ------------------------------------------------ 执行后 C:\Users\马俊南\AppData\Local\Microsoft\WindowsApps\python3.13.exe D:\Pycharm\code\day06\19.元组数据的修改操作.py ('aa', 'bb', ['cc', 'dd'], 'dd') ('aa', 'bb', ['cccccc', 'dd'], 'dd') Process finished with exit code 0
6.22 元组的总结
定义元组
# 多个数据元组 t1 = (10, 20, 30) # 单个数据元组 t2 = (10,)
常用操作方法
index()
len()
———————————————————————————————————————————————————————————————————————————
无敌小马爱学习
浙公网安备 33010602011771号