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

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

相关推荐
LinQingYanga4 分钟前
极客时间多模态大模型训练营毕业总结(2026年2月8日)
人工智能
pccai-vip5 分钟前
过去24小时AI创业趋势分析
人工智能
SEO_juper5 分钟前
AI SEO实战:整合传统技术与AI生成搜索的优化框架
人工智能·chatgpt·facebook·seo·geo·aeo
pp起床7 分钟前
Gen_AI 补充内容 Logit Lens 和 Patchscopes
人工智能·深度学习·机器学习
方见华Richard9 分钟前
自指-认知几何架构 可行性边界白皮书(务实版)
人工智能·经验分享·交互·原型模式·空间计算
冬奇Lab13 分钟前
AI时代的"工具自由":我是如何进入细糠时代的
人工智能·ai编程
天天爱吃肉821825 分钟前
跟着创意天才周杰伦学新能源汽车研发测试!3年从工程师到领域专家的成长秘籍!
数据库·python·算法·分类·汽车
m0_7155753437 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
CODECOLLECT38 分钟前
技术解析|MDM移动设备管理系统无终身买断制度的底层逻辑
人工智能
甄心爱学习39 分钟前
【leetcode】判断平衡二叉树
python·算法·leetcode