Python 中的列表、元组、字典是日常开发中最常用的数据结构掌握它们的核心操作是 Python 入门的关键。本文将从基础定义、增删改查、遍历操作到实战案例全方位讲解这三种数据结构的使用方法和核心区别。一、列表 (List)灵活的有序可变序列列表是 Python 中最基础也最常用的数据结构使用[]定义可存储不同类型的数据整数、浮点数、布尔值、字符串等支持增删改查等灵活操作。1. 列表的基础定义与访问# 1.定义列表 list1 [10,20.3,True,abc] # 可存储不同类型元素 list2 [] # 空列表 # 2.打印列表 print(flist1:{list1}) # 输出list1:[10, 20.3, True, abc] print(flist2:{list2}) # 输出list2:[] # 3.列表切片访问 print(list1[1:]) # 输出[20.3, True, abc]从索引1开始到末尾2. 列表的遍历方式列表支持两种主流遍历方式for 循环直接遍历、while 循环索引遍历# for循环遍历推荐 for value in list1: print(value,end \t) # 输出10 20.3 True abc print() # while循环索引遍历 i 0 while i len(list1): print(list1[i],end \t) # 输出10 20.3 True abc i 13. 列表的增删改操作1增加元素append()在列表末尾添加元素若添加列表则作为单个元素extend()在列表末尾批量添加元素拆分列表为单个元素insert()在指定索引位置插入元素# append添加单个元素/列表整体 list1.append(张三) list3 [a,b,c] list1.append(list3) # extend批量添加元素 list1.extend(张三) # 拆分字符串为单个字符 list1.extend(list3) # 拆分列表为单个元素 # insert指定位置插入 list1.insert(1,111) # 在索引1位置插入111 print(flist1:{list1})2查询元素index()查找元素首次出现的索引count()统计元素出现次数in/not in判断元素是否存在print(list1.index(20.3)) # 输出2元素20.3的索引 print(list1.count(10)) # 输出1元素10出现1次 print(10 in list1) # 输出True元素10存在 print(10 not in list1) # 输出False元素10非不存在3删除元素del根据索引删除元素clear()清空列表remove()根据元素值删除首次出现pop()根据索引删除并返回元素list4 [10,20,30,40,50] del list4[2] # 删除索引2的元素30 # list4.clear() # 清空列表注释状态 list4.remove(10) # 删除元素10 list4.pop(2) # 删除索引2的元素40 print(flist4{list4}) # 输出list4[20, 50]4修改元素直接通过索引赋值修改reverse()翻转列表sort()排序默认升序reverseTrue降序list4[1] 100 # 索引1的值改为100 list4.reverse() # 翻转列表 list4.sort(reverseTrue)# 降序排序 print(flist4:{list4}) # 输出list4:[100, 20]4. 列表嵌套与实战案例1列表嵌套遍历列表可嵌套其他列表通过双层循环遍历name_list [[小明,晓红],[小黑,小白],[小刘,小芬]] print(name_list[1][1]) # 输出小白第二个子列表的第二个元素 # 方式1索引遍历 for i in range(len(name_list)): child_list name_list[i] for j in range(len(child_list)): print(child_list[j],end \t) print() # 方式2直接遍历推荐 for child_list in name_list: for name in child_list: print(name,end \t) print()2实战随机分配办公室结合random模块实现随机分配功能import random # 定义3个办公室 class_list [[],[],[]] # 定义7位老师 name_list [1,2,3,4,5,6,7] # 随机分配 for n in name_list: class_id random.randint(0,2) # 随机生成0-2的索引 class_list[class_id].append(n) # 遍历输出结果 for idx, class_info in enumerate(class_list): print(f办公室{idx1}{class_info}) print(-*30)二、元组 (Tuple)不可变的有序序列元组使用()定义核心特点是不可变定义后无法修改元素适合存储固定数据。t1 (10,20,30) # 元组 t2 (10) # 注意单个元素不加逗号会被识别为int类型 t3 (10,) # 正确的单个元素元组定义方式 print(type(t1)) # 输出class tuple print(type(t2)) # 输出class int print(type(t3)) # 输出class tuple列表 vs 元组核心区别特性列表 (List)元组 (Tuple)定义符号[]()可变性可变不可变适用场景动态数据固定数据性能稍弱稍优三、字典 (Dictionary)键值对无序集合字典使用{key:value}定义通过键快速查找值是 Python 中高效的映射型数据结构。1. 字典的增删改查dict1 {杨过:小龙女,小黑:小白} # 增新增键值对 dict1[嘻嘻] 哈哈 # 删删除指定键值对 del dict1[嘻嘻] # 改修改已有键的值 dict1[小黑] 小灰 # 查获取值推荐get方法避免键不存在报错 print(dict1.get(小黑)) # 输出小灰 print(dict1.get(张三,李四)) # 输出李四键不存在时返回默认值 print(dict1.keys()) # 输出dict_keys([杨过, 小黑])所有键 print(dict1.values()) # 输出dict_values([小龙女, 小灰])所有值 print(fdict1{dict1}) # 输出dict1{杨过: 小龙女, 小黑: 小灰}2. 字典的遍历# 方式1遍历键 for key in dict1.keys(): print(f{key}{dict1.get(key)}) # 方式2遍历键值对推荐 for key, value in dict1.items(): print(f{key}{value})四、综合实战筛选幸运数字需求输入一个正整数生成 1 到该数的列表并筛选出能被 6 整除的幸运数字nums [] lucky [] input_num int(input(请输入1个大于0的整数)) for i in range(1, input_num1): nums.append(i) if i % 6 0: lucky.append(i) print(f完整列表{nums}) print(f幸运数字能被6整除{lucky})输入输出示例请输入1个大于0的整数20 完整列表[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] 幸运数字能被6整除[6, 12, 18]