Dictionary

第一部分:什么是 Dictionary?(详细介绍)

在 Python 中,List 是像"排队"一样的数据,你是通过"第几个位置"(索引 0, 1, 2...)来找到数据的。 Dictionary 是像"图书馆索引"一样的数据,你是通过"名字"(Key)来找到"内容"(Value)。

1. 基本语法

python 复制代码
# 语法:{ 键: 值, 键: 值 }
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. 语法演示

python 复制代码
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("抱歉,还没有记录美食信息")

第三部分:为什么明天教这个?(给你的教学锦囊)

明天你可以这样引导小朋友:

  1. 类比法: 告诉她 List 是你去超市买菜的清单,你得按顺序看。Dictionary 是你的手机通讯录,你想找妈妈,直接搜"妈妈"这个名字,手机就告诉你号码。
  2. 设置陷阱: 故意写一个 print(my_travel["food"]),然后让它报错 KeyError
    • 然后说: "哎呀!电脑报错了!它说找不到 food。我们能不能在报错之前,先问问电脑:'嘿,字典里有 food 吗?' 如果有,我们再读,如果没有,我们就跳过。"
    • 这就是 if key in dict 的由来。

第四部分:给你的进阶补充 (你可能会用到)

除了 if key in,还有两个高级用法,万一她问起来:

  1. .get() 方法: 这是更高级的写法,不会报错。

    python 复制代码
    # 如果有 "food" 就返回对应的值;如果没有,就返回 "Unknown"
    print(my_travel.get("food", "Unknown"))
  2. 遍历字典的 Key 和 Value:

    python 复制代码
    # 同时拿出 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。
相关推荐
充钱大佬5 小时前
Python测试基础教程
python·log4j·apache
初心丨哈士奇7 小时前
Python 四大基础容器|列表篇
python
明理的信封8 小时前
AI 基础设施的“去 Python 化“:Rust 与 C# 的两条替代路径
人工智能·python·rust
麻雀飞吧9 小时前
2026年AI量化开发,先跑通小流程再加复杂功能
人工智能·python
daphne odera�9 小时前
PyCharm 中 Codex 插件启动失败:unknown variant default 的解决方法
python·chatgpt·pycharm
nbu04william10 小时前
Deepseek-api省token的用法
python·大模型·token·deepseek
测试老哥10 小时前
Pytest自动化测试详解
自动化测试·软件测试·python·测试工具·测试用例·pytest·接口测试
坚持学习前端日记10 小时前
国产化适配全流程适配英伟达本地开发
人工智能·python
源图客11 小时前
云途物流API开发-鉴权认证(Java)
java·网络·python
三川69812 小时前
Tkinter库的学习记录06-变量类别
python