Python基础 | 函数入门
26 5 月, 2025Python基础 | 安装模块
26 5 月, 2025
想象你是奶茶店老板:
- 元组(tuple):固定套餐(珍珠奶茶 + 椰果,不能改)
- 列表(list):点单记录(今天卖了 5 杯,随时加单)
- 字典(dict):会员信息(手机号对应积分,快速查找)
一句话总结:
- 元组:固定不变的收纳盒(封死的罐头)
- 列表:可以增减的收纳盒(带拉链的行李箱)
- 字典:按标签找东西的收纳盒(带索引的抽屉柜)
固定套餐 = ("珍珠奶茶", "椰果", "七分糖") # 封死的套餐,定义后下面的代码不能改
不可变:封死的罐头,不能增删改(防误操作)
有序:按顺序排列(珍珠奶茶是第 1 项,椰果第 2 项)
不能单独修改:
固定套餐[0] = "芋泥波波"
→ 报错!
- 固定配置:一周的课程表(周一到周五不变)
- 防误操作:部门列表(销售部、市场部,不能删)
- 坐标定位:(x, y) 坐标(改了会影响地图定位)
# 1. 访问元素(用索引,从0开始)
print(固定套餐[1]) # 输出:椰果(第2项)
# 2. 拆包赋值(快速提取)
奶茶, 小料, 甜度 = 固定套餐
print(f"这杯是{奶茶}加{小料},{甜度}") # 输出:珍珠奶茶加椰果,七分糖
购物车 = ["面包", "牛奶", "鸡蛋"] # 随时加零食的购物车
可变:拉链行李箱,可增删改(买完还能加冰淇淋)
有序:按放入顺序排列(先放面包,后放牛奶)
支持重复:
["珍珠", "珍珠", "珍珠"]
合法(适合记录多次购买)
- 动态数据:每天的销售记录(随时追加)
- 临时存储:待办事项(做完一项划掉一项)
- 批量操作:给 100 个用户发消息(列表循环)
# 1. 追加:买完发现漏了酸奶
购物车.append("酸奶") # 购物车变成:['面包', '牛奶', '鸡蛋', '酸奶']
# 2. 修改:牛奶买错了,换成豆奶
购物车[1] = "豆奶" # 现在第2项是豆奶
# 3. 插入:在面包前加蛋糕
购物车.insert(0, "蛋糕") # 购物车:['蛋糕', '面包', '豆奶', ...]
# 4. 删除:鸡蛋不要了
购物车.remove("鸡蛋") # 或 del 购物车[2]
会员 = {
"13800000000": 1000, # 手机号: 积分
"13900000000": 1500,
"姓名": "豆包" # 键可以是文字
}
按标签查找:通过键(手机号)快速找值(积分),比列表快 100 倍
无序:抽屉柜不按顺序,只认标签(Python 3.7 + 有序,新手可忽略)
键唯一:重复键会覆盖(
{"a":1, "a":2}
结果是 {“a”:2})
- 快速查找:学号对应成绩、工号对应部门
- 结构化数据:用户信息(姓名、年龄、地址)
- 配置参数:游戏设置(音量: 50,画质: “高清”)
# 1. 查积分:用手机号当钥匙
print(会员["13800000000"]) # 输出:1000
# 2. 改信息:豆包改名了
会员["姓名"] = "小明" # 键"姓名"的值变成"小明"
# 3. 加新会员:新手机号注册
会员["15800000000"] = 0 # 新增键值对
# 4. 遍历:给所有会员发通知
for 手机号, 积分 in 会员.items():
print(f"尊敬的用户{手机号},您的积分有{积分}分!")
特性 |
元组(tuple) |
列表(list) |
字典(dict) |
定义符号 |
() |
[] |
{键: 值} |
是否可变 |
不可变(封死) |
可变(拉链) |
可变(抽屉) |
访问方式 |
索引(位置) |
索引(位置) |
键(标签) |
适合场景 |
固定配置、防误改 |
动态数据、批量操作 |
快速查找、结构化数据 |
常用方法 |
拆包、索引 |
append/insert/remove |
items()/get() |
# 1. 固定部门(元组:防删改)
部门 = ("销售部", "市场部", "客服部")
# 2. 收集数据(列表:动态添加)
周报数据 = []
for 部门名 in 部门:
数据 = {"部门": 部门名, "业绩": 1000, "问题": "无"} # 字典:结构化数据
周报数据.append(数据) # 列表收纳每个部门的数据
# 3. 自动发邮件(字典:快速查邮箱)
邮箱 = {
"销售部": "sales@com",
"市场部": "mark@com",
"总经办": "boss@com" # 额外抄送
}
for 部门名 in 部门:
邮件内容 = f"{部门名}周报:业绩1000万,问题无"
收件人 = 邮箱[部门名] # 按部门名找邮箱
抄送 = [邮箱["总经办"]] # 固定抄送领导
print(f"已发送至{收件人},抄送{抄送}")
运行效果:
- 部门不可删(元组防误操作)
- 动态添加新部门(列表 append)
- 按部门名快速查邮箱(字典键值对)
错误:固定套餐 = ["珍珠", "椰果"] # 不小心删掉珍珠?
正确:固定套餐 = ("珍珠", "椰果") # 封死,防手抖
错误:购物车 = {"1": "面包", "2": "牛奶"} # 键是字符串,多余!
正确:购物车 = ["面包", "牛奶"] # 列表按顺序,天然索引
错误:销售记录 = ("周一100", "周二200") # 周三无法追加!
正确:销售记录 = ["周一100", "周二200"] # 列表可随时append
口诀:固定用元组,动态用列表,查找用字典
下次遇到数据时,问自己:
- 数据会变吗? 不变→元组;会变→列表 / 字典
- 需要按顺序访问吗? 是→列表;否→字典
- 需要快速查找吗? 是→字典;否→列表
报错急救箱:
- 元组修改报错:
TypeError: 'tuple' object does not support item assignment
→ 换列表
- 字典键错误:
KeyError: '手机号'
→ 检查键是否存在(用get()
防报错)
26 5 月, 2025
Published by cofo on 26 5 月, 2025 26 5 月, 2025
Published by cofo on 26 5 月, 2025 26 5 月, 2025
Published by cofo on 26 5 月, 2025