苦练Python第25天:玩转字典

苦练Python第25天:玩转字典

前言

大家好,我是倔强青铜三 。欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

欢迎来到《100天Python》第25天!今天我们将彻底征服 Python 最灵活的数据结构------字典(dictionary)。无论是 JSON 还是 API 响应,字典无处不在。掌握它,你的数据查询将快如闪电。🐍⚡


📦 今日收获清单

  • 什么是字典及其优势
  • 创建与访问键值对
  • 增删改查一条龙
  • 常用方法与优雅遍历
  • 嵌套字典与推导式
  • 真实场景案例

🧠 什么是字典?

字典是无序可变键值对集合。

🔹 语法

python 复制代码
person = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

键唯一,值可为任意类型。


🔑 创建字典

python 复制代码
empty = {}
user = dict(name="John", age=25)

🔍 取值

python 复制代码
print(person["name"])           # Alice
print(person.get("age"))        # 30
print(person.get("email", "N/A"))  # N/A

✏️ 增改键值

python 复制代码
person["age"] = 31              # 修改
person["email"] = "a@b.com"     # 新增

❌ 删除键值

python 复制代码
person.pop("age")     # 按键删除并返回值
del person["city"]    # 直接删除
person.clear()        # 清空

🔁 遍历

python 复制代码
for k, v in person.items():
    print(f"{k}: {v}")

🔄 常用方法速查

方法 说明
keys() 所有键
values() 所有值
items() 键值对
get(k) 安全取值
pop(k) 弹出键值
update(d) 批量更新
clear() 清空

🧱 嵌套字典

python 复制代码
users = {
    "alice": {"age": 30, "city": "Paris"},
    "bob": {"age": 25, "city": "Berlin"}
}
print(users["alice"]["city"])  # Paris

💡 字典推导式

python 复制代码
squares = {x: x*x for x in range(5)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

📊 实战案例

1. 词频统计

python 复制代码
text = "apple banana apple orange"
counts = {}
for w in text.split():
    counts[w] = counts.get(w, 0) + 1
print(counts)

2. 解析 API JSON

python 复制代码
response = {
    "status": "success",
    "data": {"user": "Alice", "id": 123}
}
print(response["data"]["user"])  # Alice

3. 商品映射

python 复制代码
products = {101: "Shoes", 102: "Shirt", 103: "Bag"}
print(products[102])  # Shirt

🚫 避坑指南

  • ❌ 列表等可变对象不能做键
  • ❌ 依赖字典顺序(3.7+ 有序,但逻辑别依赖)
  • ✅ 不确定键存在时用 .get()

🧠 今日速记

  • 字典 = 键值对 + O(1)查询
  • .get() 安全,.update() 批量
  • 支持嵌套 & 推导式
  • 实战:计数、API、映射

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

相关推荐
leoZ2312 小时前
本地跑大模型实战(七):llama.cpp 性能调优,让推理更快更省
java·人工智能·spring·生成对抗网络·语言模型·自然语言处理·llama
To_OC2 小时前
我把《天龙八部》塞进向量数据库后,终于搞懂了 RAG 到底是个啥
人工智能·llm·agent
阿坤带你走近大数据2 小时前
基金面试准备1
面试·职场和发展
蜡台2 小时前
AI Agent(智能体)入门基础教程
人工智能
傻啦嘿哟2 小时前
某短视频平台视频爬虫实战:抓取推荐流视频信息,绕过反爬的3种技巧
开发语言·爬虫·python
Akir.weiwen3 小时前
Token 层差异:从颜色值到语义状态的三层跃迁
人工智能·设计规范
迷迭香yy3 小时前
集合竞价数据挖掘实战:用Python构建开盘信号识别系统
人工智能·python·数据挖掘
烬羽3 小时前
React Router 嵌套路由:一个 `Outlet` 引发的布局思考
react.js·面试·前端框架
大模型momo3 小时前
Spring AI 实战:多 Agent 协作实战 —— 分工拆解复杂旅游行程任务
人工智能·spring·ai·agent·旅游
小程故事多_804 小时前
从A2C、TRPO、PPO到GRPO,强化学习策略梯度算法完整演进与大模型落地实战解析
人工智能·算法