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

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

相关推荐
躺柒4 分钟前
读人机沟通法则:理解数字世界的设计与形成01机器循环运行
人工智能·计算机·计算·数字世界·人机对话
猿饵块4 分钟前
python--锁
java·jvm·python
智算菩萨8 分钟前
摩擦电纳米发电机近期进展的理论脉络梳理:从接触起电到统一建模与能量转换
linux·人工智能·算法
LiYingL8 分钟前
TRACEALIGN:追踪大规模语言模型对齐漂移的原因和保护措施
人工智能·语言模型·自然语言处理
星辰落满衣18 分钟前
股票实时交易数据之Python、Java等多种主流语言实例代码演示通过股票数据接口
java·开发语言·python
囊中之锥.20 分钟前
机器学习第三部分---决策树
人工智能·决策树·机器学习
YJlio1 小时前
ProcessExplorer_17.09_x64-Chs 新版本升级:我看到的区别与优势(含升级思路与注意点)
人工智能·笔记·学习
F_D_Z1 小时前
哈希表解Two Sum问题
python·算法·leetcode·哈希表
智算菩萨1 小时前
【实战】使用讯飞星火API和Python构建一套文本摘要UI程序
开发语言·python·ui
Aaron15881 小时前
基于RFSOC+VU13P+GPU架构在雷达电子战的技术
人工智能·算法·fpga开发·架构·硬件工程·信号处理·基带工程