苦练Python第25天:玩转字典
前言
大家好,我是倔强青铜三。欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!
欢迎来到《100天Python》第25天!今天我们将彻底征服 Python 最灵活的数据结构——字典(dictionary)。无论是 JSON 还是 API 响应,字典无处不在。掌握它,你的数据查询将快如闪电。🐍⚡
📦 今日收获清单
- 什么是字典及其优势创建与访问键值对增删改查一条龙常用方法与优雅遍历嵌套字典与推导式真实场景案例
🧠 什么是字典?
字典是无序、可变的键值对集合。
🔹 语法
person = { "name": "Alice", "age": 30, "city": "New York"}
键唯一,值可为任意类型。
🔑 创建字典
empty = {}user = dict(name="John", age=25)
🔍 取值
print(person["name"]) # Aliceprint(person.get("age")) # 30print(person.get("email", "N/A")) # N/A
✏️ 增改键值
person["age"] = 31 # 修改person["email"] = "a@b.com" # 新增
❌ 删除键值
person.pop("age") # 按键删除并返回值del person["city"] # 直接删除person.clear() # 清空
🔁 遍历
for k, v in person.items(): print(f"{k}: {v}")
🔄 常用方法速查
方法 | 说明 |
---|---|
keys() | 所有键 |
values() | 所有值 |
items() | 键值对 |
get(k) | 安全取值 |
pop(k) | 弹出键值 |
update(d) | 批量更新 |
clear() | 清空 |
🧱 嵌套字典
users = { "alice": {"age": 30, "city": "Paris"}, "bob": {"age": 25, "city": "Berlin"}}print(users["alice"]["city"]) # Paris
💡 字典推导式
squares = {x: x*x for x in range(5)}# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
📊 实战案例
1. 词频统计
text = "apple banana apple orange"counts = {}for w in text.split(): counts[w] = counts.get(w, 0) + 1print(counts)
2. 解析 API JSON
response = { "status": "success", "data": {"user": "Alice", "id": 123}}print(response["data"]["user"]) # Alice
3. 商品映射
products = {101: "Shoes", 102: "Shirt", 103: "Bag"}print(products[102]) # Shirt
🚫 避坑指南
- ❌ 列表等可变对象不能做键❌ 依赖字典顺序(3.7+ 有序,但逻辑别依赖)✅ 不确定键存在时用
.get()
🧠 今日速记
- 字典 = 键值对 + O(1)查询
.get()
安全,.update()
批量支持嵌套 & 推导式实战:计数、API、映射最后感谢阅读!欢迎关注我,微信公众号:
倔强青铜三
。欢迎点赞
、收藏
、关注
,一键三连!!!