第一部分:什么是 Dictionary?(详细介绍)
在 Python 中,List 是像“排队”一样的数据,你是通过“第几个位置”(索引 0, 1, 2...)来找到数据的。
Dictionary 是像“图书馆索引”一样的数据,你是通过“名字”(Key)来找到“内容”(Value)。
1. 基本语法
# 语法:{ 键: 值, 键: 值 }
my_travel = {
"city": "Perth",
"days": 5,
"is_fun": True
}
2. 注意点 (面试和写代码常考)
- Key 必须是唯一的: 如果你写了两个
"city",后面那个会覆盖前面那个。 - Key 必须是“不可变”的: 通常我们用字符串
str或数字int做 Key。你不能用list做 Key,因为 list 会变。 - 无序性(旧版本): 虽然现在的 Python (3.7+) 字典是有序的,但你要记住,字典的核心是通过 Key 找 Value,而不是通过顺序。
3. 如何使用
- 读取:
my_travel["city"]-> 输出 "Perth" - 增加/修改:
- 修改:
my_travel["days"] = 6 - 增加:
my_travel["hotel"] = "Hilton"
- 修改:
第二部分:if key in dict (这其实是 Python 的防错神器)
你在写代码时,最怕遇到的错误就是 KeyError。比如你写了 my_travel["food"],但字典里根本没有 food 这个 Key,程序会直接崩溃。
if key in dict 就是在读取前先“打个报告”,确认一下这东西在不在。
1. 语法演示
my_travel = {"city": "Perth", "days": 5}
# 检查 key 是否存在
if "city" in my_travel:
print("我知道你在哪个城市:", my_travel["city"])
else:
print("字典里没有城市信息")
# 检查一个不存在的 key
if "food" in my_travel:
print(my_travel["food"])
else:
print("抱歉,还没有记录美食信息")
第三部分:为什么明天教这个?(给你的教学锦囊)
明天你可以这样引导小朋友:
- 类比法: 告诉她
List是你去超市买菜的清单,你得按顺序看。Dictionary是你的手机通讯录,你想找妈妈,直接搜“妈妈”这个名字,手机就告诉你号码。 - 设置陷阱: 故意写一个
print(my_travel["food"]),然后让它报错KeyError。- 然后说: “哎呀!电脑报错了!它说找不到
food。我们能不能在报错之前,先问问电脑:‘嘿,字典里有food吗?’ 如果有,我们再读,如果没有,我们就跳过。” - 这就是
if key in dict的由来。
- 然后说: “哎呀!电脑报错了!它说找不到
第四部分:给你的进阶补充 (你可能会用到)
除了 if key in,还有两个高级用法,万一她问起来:
.get()方法: 这是更高级的写法,不会报错。# 如果有 "food" 就返回对应的值;如果没有,就返回 "Unknown" print(my_travel.get("food", "Unknown"))- 遍历字典的 Key 和 Value:
# 同时拿出 key 和 value for key, value in my_travel.items(): print(f"键是 {key}, 值是 {value}")
- 如果分不清 Key 和 Value: 你就让记成
Key = 名字,Value = 内容。比如Name: "Lucy",Name是 Key,Lucy是 Value。 - 如果她错了: 永远保持冷静,告诉她 Python 非常严谨,拼写错了(比如大小写、多了一个空格)都会找不到 Key。