11
列表(Lists)
列表(Lists):管理“一组数据”的核心结构
你现在可能会困惑什么
“我已经有变量了,为什么还要 list?”
变量适合一个值,list 适合一批值。 只要涉及批量处理,你几乎一定会用到 list。
一句话定义
列表是有序、可变的数据容器,支持增删改查与遍历。
生活类比
列表像购物清单: 你可以添加商品、删掉商品、改顺序、逐条检查。
最小可运行例子
fruits = ["apple", "banana", "cherry"]
print(fruits[0]) # apple
print(fruits[-1]) # cherry
增删改查
nums = [3, 1, 4]
nums.append(2)
nums.insert(1, 99)
nums.remove(4)
last = nums.pop()
print(nums)
print(last)
切片与排序
scores = [80, 95, 70, 88]
print(scores[1:3])
print(sorted(scores))
scores.sort(reverse=True)
print(scores)
遍历与索引
for i, val in enumerate(scores):
print(i, val)
课堂小测(5 分钟)
- 创建购物清单并实现新增/删除。
- 计算价格列表最大值、最小值、平均值。
- 打印每个元素及其索引。
课堂小测参考答案与判分点
- 参考答案方向:能写出可运行代码,并覆盖题目中的核心条件与边界输入。
- 判分点 1(正确性):主流程结果正确,关键分支可执行。
- 判分点 2(可读性):变量命名清晰,结构不过度嵌套。
- 判分点 3(健壮性):对空值、类型错误或异常输入有基础保护。
迁移任务(课后)
做一个“成绩看板”:
- 输入成绩列表
- 输出平均分、最高分、最低分
- 输出降序排名
本节验收标准
你能独立做到:
- 完成 list 的增删改查
- 正确使用切片和排序
- 用循环处理整批数据
常见报错与调试步骤(新手版)
- 报错看不懂:先读最后一行错误类型(如
TypeError、NameError),再回到对应代码行定位。 - 不确定变量值:在关键位置临时
print(变量, type(变量)),先确认数据是否符合预期。 - 改了代码却没生效:确认文件已保存、运行的是当前文件、终端环境(venv)是否正确。
常见误区
-
误区:
remove和pop一样。 -
正解:
remove按值删,pop按索引删并返回值。 -
误区:遍历时随意改列表长度。
-
正解:容易漏处理,必要时先复制再改。