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

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

相关推荐
豆奶特浓62 分钟前
Java面试生死局:谢飞机遭遇在线教育场景,从JVM、Spring Security到AI Agent,他能飞吗?
java·jvm·微服务·ai·面试·spring security·分布式事务
极客BIM工作室6 分钟前
从静态到动态:Sora与文生图潜在扩散模型的技术同异与AIGC演进逻辑
人工智能·aigc
松果财经10 分钟前
长沙的青年友好,五年见“城”心
人工智能
秋邱12 分钟前
智启未来:AGI 教育融合 × 跨平台联盟 × 个性化空间,重构教育 AI 新范式开篇:一场 “教育 ×AI” 的范式革命
人工智能·python·重构·推荐算法·agi
爱吃泡芙的小白白17 分钟前
vscode、anaconda、git、python配置安装(自用)
ide·git·vscode·python·anaconda·学习记录
谷隐凡二18 分钟前
Kubernetes主从架构简单解析:基于Python的模拟实现
python·架构·kubernetes
黑客思维者18 分钟前
ChatGPT软件开发提示词库:开发者常用150个中文提示词分类与应用场景设计
人工智能·chatgpt·提示词·软件开发
老歌老听老掉牙24 分钟前
Matplotlib Pyplot 数据可视化完全指南
python·信息可视化·matplotlib
IT_陈寒27 分钟前
React性能优化:这5个Hooks技巧让我减少了40%的重新渲染
前端·人工智能·后端
Sunhen_Qiletian27 分钟前
《Python开发之语言基础》第六集:操作文件
前端·数据库·python