Python 第四章:列表 List 和循环 Loop

📅 2026/8/22 11:59:19
Python 第四章:列表 List 和循环 Loop
本章重点结合while、for循环操作列表实现遍历、筛选、计算。1. 复习回顾列表[]存放一组数据下标从 0 开始for 循环最适合遍历列表2.for 循环遍历列表写法 1直接取出列表元素最常用fruit [苹果, 香蕉, 橙子, 葡萄] for item in fruit: print(item)执行流程依次把列表里面每一个元素赋值给变量item执行循环体代码。写法 2同时获取下标和元素enumerate()同时拿到索引和对应的值非常实用fruit [苹果, 香蕉, 橙子, 葡萄] for index,val in enumerate(fruit): print(f下标{index}内容{val})写法 3通过下标遍历rangelenfruit [苹果, 香蕉, 橙子, 葡萄] for i in range(len(fruit)): print(i, fruit[i])3.while 循环遍历列表while 依靠索引变量适合需要手动控制下标的场景fruit [苹果, 香蕉, 橙子, 葡萄] i 0 while i len(fruit): print(fruit[i]) i i 1注意一定要写 i i1否则死循环。4. 循环结合列表做运算案例求列表所有数字总和num_list [10,20,30,40,50] total 0 for n in num_list: total total n print(总和, total)案例筛选大于 20 的数据放到新列表nums [5,12,25,33,8,40] new_list [] for x in nums: if x 20: new_list.append(x) print(大于20的数字, new_list)5. 循环删除列表元素⚠️大坑❗不要一边 for 遍历原列表一边直接删除元素容易漏元素错误示例会出问题# 错误写法 data [1,2,2,3,2,4] for v in data: if v 2: data.remove(v) print(data)✅推荐方案遍历副本修改原列表data [1,2,2,3,2,4] for v in data.copy(): #遍历列表副本 if v 2: data.remove(v) print(data)6.range 生成数字列表range(开始,结束,步长)配合 list () 转列表print(list(range(5))) # [0, 1, 2, 3, 4] print(list(range(2,8))) # [2, 3, 4, 5, 6,7] print(list(range(0,10,2))) # [0,2,4,6,8]7. 嵌套列表里面存放列表二维列表student [ [张三,18], [李四,20], [王五,19] ] #读取 print(student[0][0]) #张三 print(student[1][1]) #20 #双重for循环遍历二维列表 for row in student: for cell in row: print(cell,end ) print()本章完整示例代码#第四章列表和循环 fruit [苹果, 香蕉, 橙子, 葡萄] print(for直接遍历) for item in fruit: print(item) print(enumerate获取下标和值) for idx,val in enumerate(fruit): print(idx,val) print(while遍历) i 0 while i len(fruit): print(fruit[i]) i 1 #求和 num_list [10,20,30,40] sum_val 0 for n in num_list: sum_val n print(总和,sum_val) #筛选 all_nums [3,15,22,7,36] res [] for num in all_nums: if num 10: res.append(num) print(大于10,res) #二维列表 stu_list [[小明,90],[小红,88],[小刚,76]] for s in stu_list: print(f姓名{s[0]}分数{s[1]})第四章课后练习题基础题定义列表names [张三,李四,王五,赵六]使用 for 循环打印全部名字使用 enumerate 打印每个名字和对应下标使用 while 循环遍历打印上面 names 列表。列表scores [88,72,95,60,59,100]计算全部分数总和求平均分。进阶题把 scores 列表中大于等于 80 分的数据筛选出来存入新列表 good_score打印。二维列表books [[西游记,98],[三国演义,95],[水浒传,86]]双重循环遍历打印每一项。data [5,2,8,2,9,2,1]删除列表里面全部数字 2打印最终列表。思考题for i in range (len (names)) 和 for name in names两种遍历分别适合什么场景 点赞 收藏 关注零基础Python系统化学习持续更新