当前位置:首页>python>Python闯关第4关:字典——给数据建个"智能通讯录"

Python闯关第4关:字典——给数据建个"智能通讯录"

  • 2026-08-22 15:04:34
Python闯关第4关:字典——给数据建个"智能通讯录"

点击蓝字

关注我们

Python闯关第4关:字典——给数据建个"智能通讯录"

关键词:dict、键值对、增删改查、遍历、嵌套  

通关奖励:告别"猜索引",一键直达任意数据!

01 认识字典:大括号里的"智能标签柜"

① 创建字典|30秒上手

```python

student = {

    "name": "张三",

    "age": 25,

    "gender": "男",

    "score": 95

}

```

- 大括号 `{}` = 柜子

- 冒号左边 `key` = 标签(联系人姓名)

- 冒号右边 `value` = 内容(手机号/备注)

② 神仙优势

| 特性 | 生活类比 | 说明 |

|---|---|---|

| 精准查找 | 通讯录搜名字 | 直接 `student["score"]` 拿成绩 |

| 混搭存储 | 便签夹里塞纸条+照片 | value 可以是任意类型,甚至列表/字典 |

| 自动去重 | 同一联系人只存一个号 | 重复 key 会被后者覆盖 |

⚠️ 键必须是不可变类型(str/int/float/tuple),列表当 key 会翻车!

02 四大操作:把通讯录玩出花

① 查|两种"打开方式"

| 写法 | 特点 | 示例 |

|---|---|---|

| 方括号 | 简单暴力,key 不存在就 `KeyError` | `student["height"]` |

| `.get()` | 温柔兜底,可给默认值 | `student.get("height", "未填写")` |

② 增|新建联系人一样轻松

```python

student["height"] = 175            # 单条新增

student.update({"weight": 65})     # 批量新增

```

③ 改|"覆盖即可"原则

```python

student["age"] = 24   # 旧值 25 直接被 KO

```

④ 删|三种"清理姿势"

| 命令 | 效果 | 备注 |

|---|---|---|

| `del student["gender"]` | 直接消失 | key 不存在会报错 |

| `score = student.pop("score")` | 取出并删除 | 返回被删值,可备用 |

| `student.clear()` | 一键清空 | 柜子还在,内容全没 |

03 高效技巧:批量处理 & 多层嵌套

① 遍历字典

```python

同时拿到标签+内容

for key, value in student.items():

    print(f"{key}: {value}")

```

② 一键获取所有标签/内容

```python

keys   = student.keys()    # 所有标签

values = student.values()  # 所有内容

```

③ 字典嵌套——给通讯录建"分组"

```python

class_students = {

    "student1": {"name": "张三", "score": 95},

    "student2": {"name": "李四", "score": 88}

}

取李四的成绩

print(class_students["student2"]["score"])  # 输出 88

```

⚠️ 嵌套别超过 3 层,否则自己都找不到北!

本章小结|背完口诀再出发

"大括号建柜子,冒号贴标签;  

查询用 `.get()`,增改靠赋值;  

遍历 `items()`,嵌套逐层拿;  

删除 `pop()`/`del`,干净又利索!"

🎯 课后小练(下一关前必交)

1. 创建个人字典 `me`,至少含姓名、年龄、爱好(列表)

2. 用 `.get()` 安全读取"身高",缺失显示"保密"

3. 把爱好列表追加一项"刷Python题"

4. 遍历打印所有 key:value,格式自定

扫码关注我们

知识奇妙世界

最新文章

随机文章