苦练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、映射

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

相关推荐
DO_Community9 小时前
WorkBuddy 接入自定义模型教程:接入 GPT、Claude 等大模型
人工智能·llm·agent
行走的陀螺仪9 小时前
【转型攻略】2026 年,后端 / 全栈工程师转 AI Agent 方向:能力地图、按周学习路线与面试要点
人工智能·面试·职场和发展
ZhengEnCi10 小时前
2026年10月AI大事盘点:世界模型、开源万亿参数与智能体激战
人工智能·llm·ai编程
hgy896910 小时前
深度学习(小白笔记)——迁徙
人工智能·笔记·深度学习
曲径海盗10 小时前
【Python 学习第 41 天】for 循环
python·学习笔记·编程入门
摇滚侠10 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 11
java·笔记·python
沧海一笑-dj10 小时前
【Python】Python学习笔记-模块与包
python·pip·模块·包·python包·python模块·包与模块
echome88810 小时前
Python 异常处理:try、else、finally 的正确搭配
开发语言·前端·python·异常处理·编程技巧
云和数据.ChenGuang10 小时前
Python 单继承与多继承深度剖析:从 MRO 到实战取舍
开发语言·人工智能·python·langchain