当前位置:首页>python>5分钟看懂 Python 字典:像查通讯录一样简单

5分钟看懂 Python 字典:像查通讯录一样简单

  • 2026-10-11 07:04:09
5分钟看懂 Python 字典:像查通讯录一样简单

为什么要使用字典?

如果要在 Python 中保存一名学生的信息,你可能会写三个变量:

name = "小明", age = 18,city = "杭州"

只有三项信息时还不麻烦。可一旦加入成绩、联系方式、课程进度,变量就会越来越多。

这时可以把相关信息装进一个“字典”。

student = {    "name": "小明",    "age": 18,    "city": "杭州"}

1. 字典是什么?

可以把字典想成一个带标签的信息柜。

•  "name" 是标签,叫作键(key)

•  "小明" 是标签对应的内容,叫作值(value)

键和值之间用冒号 : 连接,每一组键值对之间用逗号 , 分开,整个字典放在花括号 {} 中。

有了“标签”,程序就能快速找到需要的信息。

2. 查询:根据键找到值

想知道学生姓名,只要把键放进方括号:

print(student["name"])

运行结果:

小明

如果不确定某个键是否存在,可以使用 get():

student.get("phone", "暂未填写")

找不到 "phone" 时,程序不会报错,而是输出“暂未填写”。

3. 增加:使用一个新键

给学生加入成绩:

student["score"] = 95 

因为 "score" 原来不存在,所以这是增加。

增加以后,把整个 student 打印出来:

print(student){    'name': '小明',    'age': 18,    'city': '杭州',    'score': 95}

这就是增加后的 student,其中包含全部四个元素:name、age、city 和新加入的 score。

4. 修改:给已有的键重新赋值

学生过了一年,年龄需要更新:

student["age"] = 19 

因为 "age" 已经存在,所以原来的 18 会被修改为 19。

修改以后,再把整个 student 打印出来:

print(student)data = {    'name': '小明',    'age': 19,    'city': '杭州',    'score': 95}

这就是修改后的 student。可以看到,字典里没有新增第二个 age,而是旧值 18 被新值 19 替代。

一句话记忆:

新键是增加,旧键是修改。

5. 删除:移走不再需要的信息

如果不想继续保存城市,可以使用 del:

del student["city"]

删除以后,打印最新的 student:

stu = {    'name': '小明',    'age': 19,    'score': 95}

也可以使用 pop(),它会在删除的同时返回被删掉的值:

score = student.pop("score") 

删除成绩后,先输出被删除的成绩,再输出最新的完整 student:

print(score)print(student)95 {'name': '小明', 'age': 19}

6. 字典在真实程序中怎么用?

字典不只是在“整理信息”,它还可以参与程序判断。

student = {    "name": "小明",    "age": 19,    "city": "杭州",    "score": 92}
if student["score"] >= 60:       print(student["name"], "通过了测试")else:       print(student["name"], "需要继续练习")

运行结果:

小明 通过了测试

程序从字典中取出成绩,再根据成绩决定输出什么。用户资料、商品信息、程序设置和接口数据,都常用字典来组织。

7. 信息更多时:嵌套字典

现在,“成绩”不再只有一个数字,而是包含 Python、数学两门课。怎么办?

可以让 "scores" 对应的值,再变成一个字典:

student = {    "name": "小明",    "age": 19,    "city": "杭州",    "scores": {        "Python": 92,        "数学": 88    }}print(student)

这就是嵌套字典:字典的值可以是另一个字典,于是形成多层数据结构,像俄罗斯套娃一样,一层里面还有一层。

此时完整的 student 是:

{    "name": "小明",    "age": 19,    "city": "杭州",    "scores": {        "Python": 92,        "数学": 88    }}

查询 Python 成绩时:

print(student["scores"]["Python"])

可以拆成两步理解:

scores = student["scores"]   # 先进入成绩这一层scores["Python"]  # 再找到 Python

8. 它为什么看起来像 JSON?

因为 JSON 也使用“键和值”组织数据,外形确实很像字典,但两者不是同一个东西。

Python 字典
JSON
Python 程序中的数据结构
用来保存、交换数据的文本格式
字符串可用单引号或双引号
字符串必须用双引号
使用 True、False、None
使用 true、false、null
可直接增删改查
通常先转换成字典再操作

Python 可以用 json 模块完成转换:

import jsonstudent = {    "name": "小明",    "age": 19,    "city": "杭州",    "scores": {        "Python": 92,        "数学": 88    }}# indent=4 实现格式化输出,中文正常显示json_text = json.dumps(student, ensure_ascii=False, indent=4)student_again = json.loads(json_text)print(json_text)

记住一句话就够了:

字典是 Python 程序里正在使用的数据;JSON 是保存或传递数据时常用的文本格式。

最后,用一张表记住

操作
写法
查询
student["name"]
安全查询
student.get("phone", "暂未填写")
增加
student["score"] = 95
修改
student["age"] = 19
删除
del student["city"]

先把这五种写法亲手运行一遍,你就已经迈过了 Python 字典最重要的门槛。


参考与延伸阅读:

•  菜鸟教程:Python 字典(Dictionary)

•  Python 官方文档:映射类型 dict

•  Python 官方文档:json 编码器和解码器

•  知乎:Python 嵌套字典相关文章

最新文章

随机文章