Day_5 · 字典:带名字的数据 #6

Open
opened 2026-08-22 17:26:34 +08:00 by shimmer · 37 comments
Owner

题目与教程详见仓库对应目录 Day_5/README.md(本仓库已克隆即得)。

预计耗时: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)

先学(教程)

任务(后做)

新建 day5.py,按顺序写并运行:

  1. 创建一个"用户"字典并取值:
    user = {"name": "张三", "age": 18, "city": "青岛"}
    print(user["name"])
    print(user["age"])
    
  2. 修改年龄、新增一个键、删除一个键:
    user["age"] = 19
    user["hobby"] = "写代码"
    del user["city"]
    print(user)
    
  3. 遍历打印每一项:
    for key, value in user.items():
        print(f"{key} = {value}")
    
  4. 用 get() 安全取值:
    print(user.get("city"))            # 键已被删,会是什么?
    print(user.get("city", "未知"))    # 给默认值
    
  5. 进阶(加分):造一个字典列表,模拟"查出来的三个用户":
    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 代码贴在当日工单评论里。

参考解答(先做再看)

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']}岁")
> 题目与教程详见仓库对应目录 Day_5/README.md(本仓库已克隆即得)。 > 预计耗时: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']}岁") ```
image.png image.png
<img width="1016" alt="image.png" src="attachments/28a54f23-b043-400a-a352-edce190ae4f2"> <img width="1231" alt="image.png" src="attachments/9eadd6e3-1f65-447c-a069-54d1a260b834">
134 KiB
161 KiB
https://github.com/wyn-netizen/hello-daily-challenge ![image.png](/attachments/ee9699b2-8a4b-4910-b61d-14306a46c89c)
186 KiB

image.png

![image.png](/attachments/a751d386-9a5f-4792-8ffe-4eef8a3164db)
180 KiB

image.png

![image.png](/attachments/c374e854-fbee-49f4-8784-71d923b25c62)
image.png
<img width="396" alt="image.png" src="attachments/98ef2fc7-7c21-4b26-a70d-e3e2cfbc4686">
image.png
<img width="728" alt="image.png" src="attachments/d50fdc80-5223-49b4-96b3-c064f16b2160">
image.png
<img width="781" alt="image.png" src="attachments/baabe63e-41d6-43dd-b40f-860f8d520682">
254 KiB
屏幕截图 2026-09-15 215817.png
<img width="1436" alt="屏幕截图 2026-09-15 215817.png" src="attachments/ced32926-2d5a-4628-a487-3c26b23be411">
image.png
<img width="1859" alt="image.png" src="attachments/f11fc93c-b24c-4055-90e7-fc663662536e">
258 KiB

QQ_1789534071475.png

![QQ_1789534071475.png](/attachments/593b1099-9081-4c1a-ae45-afb25dc9cf6a)
屏幕截图 2026-09-16 133803.png
<img width="1279" alt="屏幕截图 2026-09-16 133803.png" src="attachments/921210ac-2dd3-44ba-9b10-54e06fd24379">
image.png
<img width="1280" alt="image.png" src="attachments/8bffa757-d10d-494b-90af-4f0bb33016d2">
494 KiB
image.png
<img width="524" alt="image.png" src="attachments/3ddef10c-6df7-422a-9458-4eaa42c8333a">
115 KiB
fecccd5ee7204030c4be96b3e346c7a5.png
<img width="1548" alt="fecccd5ee7204030c4be96b3e346c7a5.png" src="attachments/33d0c756-5fba-494c-a278-382867a44135">
Owner

image.png

![image.png](/attachments/cc1b25dd-6e91-4bcd-9f42-89deadce9cfa)
207 KiB

这是改版前的每日一题day2字典,当时忘记提交了,现在找不到原版提交位置就交这里了
image.png

这是改版前的每日一题day2字典,当时忘记提交了,现在找不到原版提交位置就交这里了 ![image.png](/attachments/59761009-a6af-4718-a7e6-028a37e854b8)
105 KiB
image.png
<img width="1152" alt="image.png" src="attachments/1ffb4061-eec2-437a-8ebc-d810fe5e6933">
165 KiB
82f51ce90f7b40d59d7608ae8e021f13.png
<img width="717" alt="82f51ce90f7b40d59d7608ae8e021f13.png" src="attachments/253863bc-2ce4-4faf-a69e-6237ebf9bd35">
82f51ce90f7b40d59d7608ae8e021f13.png
<img width="717" alt="82f51ce90f7b40d59d7608ae8e021f13.png" src="attachments/87bbc173-f63e-42b6-9846-bbc7300fc3ec">

day5完成

day5完成
image.png
<img width="457" alt="image.png" src="attachments/8c263dcc-b6e0-42ff-932e-d5f9fe83d40a">
109 KiB

image.png

user = {"name": "唐朝伟", "age": 19, "city": "百色"}
print(user["name"])
print(user["age"])

user["age"] = 20
user["hobby"] = "写代码"
del user["city"]
print(user)

for key, value in user.items():
    print(f"{key} = {value}")

print(user.get("city"))            # 键已被删,会是None
print(user.get("city", "未知"))    # 给默认值“未知”

users = [
    {"name": "张三", "age": 19},
    {"name": "李四", "age": 20},
    {"name": "王五", "age": 18},
]
for u in users:
    print(f"{u['name']}今年{u['age']}岁")
![image.png](/attachments/16b9a73a-7b89-4700-a640-0f4d5e85afed) ```python user = {"name": "唐朝伟", "age": 19, "city": "百色"} print(user["name"]) print(user["age"]) user["age"] = 20 user["hobby"] = "写代码" del user["city"] print(user) for key, value in user.items(): print(f"{key} = {value}") print(user.get("city")) # 键已被删,会是None print(user.get("city", "未知")) # 给默认值“未知” users = [ {"name": "张三", "age": 19}, {"name": "李四", "age": 20}, {"name": "王五", "age": 18}, ] for u in users: print(f"{u['name']}今年{u['age']}岁") ```
160 KiB

image.png

![image.png](/attachments/032bf7e1-806e-430c-8697-1d8c22c775a9)
274 KiB
image.png
<img width="407" alt="image.png" src="attachments/030b3849-6d2c-4801-8cdb-f88ed61a161d">
143 KiB

image.png

![image.png](/attachments/7d1c8d94-a74b-4fa8-9883-4efebd712914)
348 KiB

image.png

![image.png](/attachments/2eda82c7-c31a-4075-bae1-19a5c33338aa)
390 KiB

user = {"name": "张三", "age": 18, "city": "青岛"} print(user["name"]) print(user["age"]) user["age"] = 19 user["hobby"] = "写代码" del user["city"] print(user) for key, value in user.items(): print(f"{key} = {value}") #print(user("city"))#会报错 print(user.get("city"))#输出None #user("x")获取值失败会报错 #user.get("x")则会返回默认值

`user = {"name": "张三", "age": 18, "city": "青岛"} print(user["name"]) print(user["age"]) user["age"] = 19 user["hobby"] = "写代码" del user["city"] print(user) for key, value in user.items(): print(f"{key} = {value}") #print(user("city"))#会报错 print(user.get("city"))#输出None #user("x")获取值失败会报错 #user.get("x")则会返回默认值 `

Day_5 · 字典(增删改查 + items 遍历)

day5.png

Day_5 · 字典(增删改查 + items 遍历) ![day5.png](https://cdn.jsdelivr.net/gh/xu675693517-hue/hello-daily-challenge@main/screenshots/day5.png)
Sign in to join this conversation.