第三阶段:核心语法 | 阅读约 8 分钟

你班上要统计10个同学的期末成绩。

用一个变量?要写10次赋值。

用20个?那要疯。

实际上,你只需要一行代码——这就是列表的威力。

列表:一个可以无限生长的收纳盒

列表的本质是一个有序的集合,用方括号[]包裹,元素之间用逗号分隔:

scores = [89,92,78,95,88]names = ["张三","李四","王五"]mixed = [1,"你好",True,3.14]# 可以混放不同类型

核心操作:

nums = [10,20,30]nums[0]# 10(索引从0开始!)nums[-1]# 30(负数从末尾倒着数)nums[0:2]# [10, 20](切片,取前两个)nums.append(40)# [10, 20, 30, 40]nums.insert(1,15)# [10, 15, 20, 30, 40]nums.remove(20)# [10, 15, 30, 40]len(nums)# 4(列表长度)
字典:带标签的抽屉柜

列表用数字索引,但如果你要找"小明的成绩",用索引不行——你需要知道小明在第几个位置。字典解决了这个问题:用名字(键)来查找内容(值)

student = {"name":"小明","age":20,"score":95}student["name"] # "小明"student["grade"] ="大二"  # 添加新键值对"age" in student  # True(检查键是否存在)
元组:不可修改的"历史快照"

元组和列表长得像(用圆括号),但一旦创建就不能修改。适合存放不变的数据:

position = (115.99,39.49)# GPS坐标
集合:自动去重的"筛子"

tags = {"Python","编程","Python"}print(tags)# {'编程', 'Python'}(自动去重)
实战:管理学生成绩

classroom = ["name":"张三","math":90,"english":85},"name":"李四","math":78,"english":92},# 打印每个学生的姓名和数学成绩for stu in classroom:print(f"{stu['name']}的数学成绩:{stu['math']}")

这一小段代码就是列表里放字典——也是实际工作中最常见的"数据容器"模式。

互动:如果你要记录一周的开销,用列表还是字典?

为什么?

评论区写出你的数据结构设计。