上节课我们学了循环,程序学会重复做事情了。
但如果有很多数据怎么办?比如:
-
- 全班 40 个同学的名字
-
- 一个星期的天气(7天)
-
- 一整个学期的考试成绩(100多门)
-
用循环可以一个一个存,但太麻烦了!
今天,我们来学 列表,用一个变量存很多数据!
一、什么是列表?
想象一个抽屉柜:
-
- 一个抽屉 = 一个变量,只能放一样东西
-
- 列表 = 一整排抽屉,可以放很多东西
-
在 Python 里,用方括号 [] 表示列表:
# 创建一个水果列表
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
print(fruits)
运行结果:
['苹果', '香蕉', '橙子', '葡萄']
二、列表的索引(从0开始)
列表里的每个数据都有一个"座位号",叫做索引。
注意:Python 从 0 开始数,不是从 1 开始!
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
print(fruits[0]) # 第1个
print(fruits[1]) # 第2个
print(fruits[2]) # 第3个
print(fruits[3]) # 第4个
运行结果:
苹果
香蕉
橙子
葡萄
💡 记忆技巧:索引 = "偏移",第1个偏移0步,第2个偏移1步...
三、负数索引(从后面数)
Python 还支持负数索引,从列表末尾开始数:
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
print(fruits[-1]) # 倒数第1个
print(fruits[-2]) # 倒数第2个
运行结果:
葡萄
橙子
四、列表长度
想知道列表里有多少个元素?用 len() 函数:
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
print("水果数量:", len(fruits))
水果数量: 4
五、添加和删除元素
添加元素
fruits = ["苹果", "香蕉", "橙子"]
print("之前:", fruits)
fruits.append("葡萄") # 在末尾添加
print("之后:", fruits)
之前: ['苹果', '香蕉', '橙子']
之后: ['苹果', '香蕉', '橙子', '葡萄']
删除元素
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
print("删除前:", fruits)
del fruits[1] # 删除第2个
print("删除后:", fruits)
删除前: ['苹果', '香蕉', '橙子', '葡萄']
删除后: ['苹果', '橙子', '葡萄']
六、遍历列表(用循环)
结合上节课学的循环,可以依次访问列表中的每个元素:
# 方法1:用 for 直接遍历
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
for fruit in fruits:
print("我喜欢吃", fruit)
我喜欢吃 苹果
我喜欢吃 香蕉
我喜欢吃 橙子
我喜欢吃 葡萄
# 方法2:用 for + range + 索引
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
for i in range(len(fruits)):
print("第", i+1, "个水果:", fruits[i])
第 1 个水果: 苹果
第 2 个水果: 香蕉
第 3 个水果: 橙子
第 4 个水果: 葡萄
七、实战:成绩管理系统
用列表做一个简单的成绩管理系统:
# 成绩管理系统
scores = [92, 87, 78, 95, 83, 88, 91]
print("=== 成绩管理系统 ===")
print("成绩列表:", scores)
print()
# 最高分和最低分
print("最高分:", max(scores))
print("最低分:", min(scores))
print("平均分:", sum(scores) / len(scores))
# 超过90分的有几人
count = 0
for s in scores:
if s >= 90:
count = count + 1
print("90分以上的有", count, "人")
运行结果:
=== 成绩管理系统 ===
成绩列表: [92, 87, 78, 95, 83, 88, 91]
最高分: 95
最低分: 78
平均分: 87.71428571428571
90分以上的有 3 人
八、列表切片
切片就像切蛋糕,取列表的一部分:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers[0:3]) # 前3个 [0, 1, 2]
print(numbers[3:6]) # 第4到第6个 [3, 4, 5]
print(numbers[-3:]) # 最后3个 [7, 8, 9]
[0, 1, 2]
[3, 4, 5]
[7, 8, 9]
九、挑战一下
练习题 1
创建一个列表存储你最喜欢的5本书,然后依次打印出来。
books = ["书1", "书2", "书3", "书4", "书5"]
# 请补充循环代码...
练习题 2
用列表和循环,计算 1×2×3×4×5 的结果(阶乘)。
👆 点击查看答案
result = 1
for i in range(1, 6):
result = result * i
print("1×2×3×4×5 =", result)
十、今天学到了什么?
-
- 列表:用方括号
[] 存储多个数据 -
- 索引:从 0 开始,第1个是 [0],第2个是 [1]...
-
- 负数索引:[-1] 是最后一个,[-2] 是倒数第二个
-
- len():获取列表长度
-
- append():在末尾添加元素
-
- del:删除元素
-
- 遍历:用 for 循环依次访问每个元素
-
- 切片:用
[0:3] 取列表的一部分 -
十一、下期预告
学会了列表,下节课我们来学 —— 字典!
-
- 用"键"找"值",像查字典一样
-
- 存储更复杂的信息(比如每个同学的姓名+年龄+成绩)
-
- 做一个小通讯录
-
敬请期待:《小学生Python:字典 —— 用键找值》
喜欢这篇文章吗?点个「在看」,让更多小朋友学会用 Python!
有问题可以在评论区留言,我会一一解答 💬