Add Day_5: 字典

This commit is contained in:
2026-08-22 01:09:25 +08:00
parent 6336b95cc6
commit 1144f3aa34
+91
View File
@@ -0,0 +1,91 @@
# Day_5 · 字典:带名字的数据
> 预计耗时:20~30 分钟
> 字典是"键 → 值"的对应表。Django 里请求参数(`request.GET`)、一条数据库记录,全是字典的样子。
## 今日知识点
- 创建:`user = {"name": "张三", "age": 18}`
- 取值:`user["name"]` 或 `user.get("name")`(get 取不到不报错,可给默认值)
- 改值:`user["age"] = 19`
- 加键:`user["city"] = "青岛"`
- 删键:`del user["city"]`
- 遍历:`for k, v in user.items(): print(k, v)`
## 先学(教程)
- 菜鸟教程("字典"一节,重点看增删改查和 items()):https://www.runoob.com/python3/python3-dictionary.html
- B站黑马教程(看讲"字典"的几集):https://www.bilibili.com/video/BV1qW4y1a7fU/
## 任务(后做)
新建 `day5.py`,按顺序写并运行:
1. 创建一个"用户"字典并取值:
```python
user = {"name": "张三", "age": 18, "city": "青岛"}
print(user["name"])
print(user["age"])
```
2. 修改年龄、新增一个键、删除一个键:
```python
user["age"] = 19
user["hobby"] = "写代码"
del user["city"]
print(user)
```
3. 遍历打印每一项:
```python
for key, value in user.items():
print(f"{key} = {value}")
```
4. 用 `get()` 安全取值:
```python
print(user.get("city")) # 键已被删,会是什么?
print(user.get("city", "未知")) # 给默认值
```
5. **进阶(加分)**:造一个**字典列表**,模拟"查出来的三个用户":
```python
users = [
{"name": "张三", "age": 19},
{"name": "李四", "age": 20},
{"name": "王五", "age": 18},
]
for u in users:
print(f"{u['name']}今年{u['age']}岁")
```
## 完成标准
- [ ] 任务 1~4 输出符合预期
- [ ] 能说出 `user["x"]` 和 `user.get("x")` 的区别
- [ ] (进阶)字典列表遍历打印成功
**提交方式**:把 `day5.py` 代码贴在当日工单评论里。
## 参考解答(先做再看)
```python
user = {"name": "张三", "age": 18, "city": "青岛"}
print(user["name"]) # 张三
user["age"] = 19
user["hobby"] = "写代码"
del user["city"]
print(user) # {'name': '张三', 'age': 19, 'hobby': '写代码'}
for key, value in user.items():
print(f"{key} = {value}")
print(user.get("city")) # None(键不存在,get 不报错)
print(user.get("city", "未知")) # 未知
# 进阶
users = [
{"name": "张三", "age": 19},
{"name": "李四", "age": 20},
{"name": "王五", "age": 18},
]
for u in users:
print(f"{u['name']}今年{u['age']}岁")
```