第八课:列表与元组——装一堆数据
入门 python教学 · 2026-10-06 · 阅读 4

之前一个变量只装一个值:全班 50 人的成绩,难道要写 50 个变量?列表(list)就是"一排连号的小盒子",一个名字管一堆数据。
一、列表:最常用的"数据排"
scores = [85, 92, 78, 90] # 方括号,一排成绩 names = ["小明", "小红", "小刚"] print(scores[0]) # 85:编号从 0 开始!第一个是 [0] print(scores[-1]) # 90:-1 代表倒数第一个 print(len(scores)) # 4:len() 数一数有几个
💡 编号从 0 开始是编程界的祖传规矩,几乎所有语言都这样。记成"第 0 号盒子",多用几次就习惯了。
二、列表的常用操作

scores = [85, 92, 78] scores.append(90) # 末尾追加:[85, 92, 78, 90] scores.insert(1, 88) # 在1号位置插入88:[85, 88, 92, 78, 90] scores.remove(78) # 按值删除第一个78 last = scores.pop() # 弹出末尾:last=90,列表剩[85, 88, 92] scores[0] = 100 # 直接改:1号盒子换成100 scores.sort() # 从小到大排序 scores.reverse() # 翻转顺序
| 操作 | 写法 | 说明 |
|---|---|---|
| 追加 | append(x) | 加到末尾 |
| 插入 | insert(i, x) | 插到 i 号位置 |
| 删除 | remove(x) / pop() | 按值删 / 弹出末尾(有返回值) |
| 修改 | s[i] = x | 直接换掉 i 号盒子的内容 |
| 排序 | sort() | 从小到大排好 |
三、列表 + 循环:黄金搭档
列表和 for 循环是天生一对——挨个处理一堆数据:
scores = [85, 92, 78, 90, 88]
# 求平均分
total = 0
for s in scores:
total += s
print(f"平均分:{total / len(scores):.1f}")
# 找出最高分
print(f"最高分:{max(scores)},最低分:{min(scores)}")
💡max()/min()/sum()是 Python 送的现成函数:最大值、最小值、求和,处理列表时随手用。
四、元组:锁死的列表

元组(tuple)长得像列表,但用圆括号,而且一旦创建就不能改:
point = (3, 5) # 圆括号:一个坐标点 print(point[0]) # 3:照样能按编号取 # point[0] = 10 # 报错!元组不许修改 # 元组最常见的用途:一次给多个变量赋值 x, y = (3, 5) name, age = "小明", 16 # 括号都可以省,帅吧
| 列表 list | 元组 tuple | |
|---|---|---|
| 括号 | [] 方括号 | () 圆括号 |
| 能改吗 | 能:增删改都行 | 不能:创建后锁死 |
| 用来装 | 会变化的一堆数据 | 固定不变的一组数据(如坐标、日期) |
五、动手练一练
练习 1:有一个成绩列表 [78, 92, 85, 100, 67],输出平均分、最高分、最低分,以及高于平均分的有几人。
练习 2:用 input() 让用户输入 5 个同学的名字存进列表,最后倒序输出全班名单。
点击查看参考答案
# 练习1
scores = [78, 92, 85, 100, 67]
avg = sum(scores) / len(scores)
count = 0
for s in scores:
if s > avg:
count += 1
print(f"平均分{avg:.1f},最高分{max(scores)},最低分{min(scores)}")
print(f"高于平均分的有{count}人")
# 练习2
names = []
for i in range(5):
names.append(input(f"输入第{i+1}个名字:"))
names.reverse()
print(names)
🎉 这一课你学会了:列表的创建、编号、增删改查,元组的特点。下一课学习字典与集合——按键找值的"抽屉柜"!
More
学·教在线
小ta