三、容器:数据的柜子
第 9~17 课
这一块是 Python 的核心之一。学完最大的收获是:看到一份数据,就知道该用哪种「柜子」装它。
第 9~10 课 列表 list:一张顺序清单
列表 = 按顺序排好的清单,用方括号。
tenants = ["张三", "李四", "王五"]
tenants[0] # 张三(下标从 0 开始)
tenants[-1] # 王五(负数下标,倒数第一个)
len(tenants) # 3
列表能增删改(这些叫「方法」,写法是 列表.方法()):
tenants.append("赵六") # 末尾加
tenants.insert(1, "赵六") # 指定位置插
tenants.remove("李四") # 按值删
tenants.pop() # 删最后一个
tenants[0] = "王五" # 改:下标直接赋值
remove 和 pop 的区别:前者「我知道要删谁」,后者「把最后一个拿走」。
第 11 课 切片与排序
第 12 课 元组 tuple:不可变的清单
和列表几乎一样,区别只一条:列表能改,元组不能改。用圆括号。
room = (101, 80, 5000) # 房号、面积、押金
room[0] # 101(能读)
room[0] = 102 # ❌ TypeError: 'tuple' object does not support item assignment
比喻:列表是可涂改的草稿,元组是盖章生效的正式文件。存「一组固定不变的信息」时用它,还能防止手滑改错。
第 13~14 课 字典 dict:登记簿
列表按位置找东西,字典按名字找:
rents = {"张三": 4500, "李四": 5200}
rents["张三"] # 查 → 4500
rents["赵六"] = 6100 # 加
rents["张三"] = 4800 # 改
安全取值用 get()——查一个不存在的键,[] 会报错崩溃,get() 则回你一个默认值:
查看方法:keys() 看名字、values() 看数、items() 成对列出。
第 15 课 集合 set:去重与对比
集合自动去重,还能做三种运算:
两份名单找「重复的」和「独有的」,用它最省事。
(注意:集合不保证顺序,输出顺序和输入不一样是正常的。需要顺序就用列表。)
第 16 课 容器怎么选
| 要干什么 | 用什么 |
|---|---|
| 排队 + 要改 | 列表 [] |
| 排队 + 不许改 | 元组 () |
| 按名查 | 字典 {} |
| 去重 / 对比 | 集合 {} |
第 17 课 字典列表:表格的真相
一张表格 = 一个列表,一行 = 一个字典。 这是实际工作里最常用的结构。
tenants = [
{"姓名": "张三", "房号": 101, "月租": 4500, "状态": "已交"},
{"姓名": "李四", "房号": 102, "月租": 5200, "状态": "欠费"},
]
tenants[0] # 第一个人(整个字典)
tenants[1]["月租"] # 第二个人的月租 → 5200
先 [0] 定位到「第几行」,再用 ["月租"] 定位到「哪一列」——和看 Excel 的感觉一样。