当前位置:首页>python>dict的增删查改|Python自学成才(番外篇5)

dict的增删查改|Python自学成才(番外篇5)

  • 2026-09-10 19:02:18
dict的增删查改|Python自学成才(番外篇5)

Python自学成才(番外篇5)|dict的增删查改

前面我们深一步地讲了字符串 str 的相关使用方法,今天开始,我们转向另一个 Python 里面使用最多的数据类型 —— 字典 dict。

参考:Python学习笔记——从入门到报废(五、变量和数据类型(下))

不同于列表、元组等靠下标取值,字典靠 key(键)取值。用 key 取值的好处就是能够清晰地知道所取数据的含义,就如同翻字典找词语一般。在爬虫、JSON 接口、数据分析等方面,字典的应用尤其重要。

What is 字典?

官方定义:字典是无序、可变、键值对的数据容器。

语法格式:

{key1: value1, key2: value2}

  • key(键):唯一、不可修改(如字符串、数字)的用于标记 value 的别名。
  • value(值):可以是任意数据,可重复、可修改。

通俗比喻:如同普通的汉语词典,key 表示一个唯一汉字,key 对应的 value 则是对这个汉字的解释。不同点在于,字典定义时 key 无需有序,同时由于地层的存储优化,查询速度更是快于列表。

创建字典的几种方式

大括号(花括号)创建

info = {"name": "RainBomb", "age": 18, "gender": "male"}# 为了使内容格式规整,也可以多行定义info = {"name":   "RainBomb", "age":    18, "gender": "male"}

使用 dict() 函数创建

info = dict(name="RainBomb", age=18)print(info)# Output: {'name': 'RainBomb', 'age': 18}

💡 注意:此处由于是函数创建,因此形参(如 name、age)自动变为 key,同时 key 只能解析为字符串 key。

元组列表 + dict() 创建

定义一个元组列表,列表中的每一个元组都表示了一个键值对(key-value pair),元组第一个元素为 key,第二个为 value:

data = [("name", "RainBomb"),("age", 18)]info = dict(data)print(info)# Output: {'name': 'RainBomb', 'age': 18}

空子典

d1 = {}d2 = dict()

字典的增删查改

根据 key 查询对应的 value

  • 使用中括号,以类似下标的方式取值
info = {"name": "RainBomb", "age": 18, "gender": "male"}print(info["name"])# Output: RainBomb
  • 使用 get() 函数,传入 key 和一个 default 值(默认为 None),如果 key 存在,则返回对应的 value,否则返回预设的 default 中的内容
info = {"name": "RainBomb", "age": 18, "gender": "male"}print(info.get("height", "unknown"))# Output: unknown
  • 使用 get() 的好处就在于,当 key 不存在时,能有一个让你进行判断的方式,不会程序直接报错终止。

增加新内容

  • 直接以中括号查询 + 赋值的形式,括号内则为新的 key,= 右侧为 value
info = {"name": "RainBomb", "age": 18}info["gender"] = "male"print(info.get("gender"))# Output: male

改动已有 key 所对应的 value

  • 类似于上面增加新内容的方式,只是括号内则为已有的 key,= 右侧为新的 value。也就是说,以这种形式编写代码,当 key 不存在则新增,否则覆盖原有的 value。
info = {"name": "RainBomb", "age": 18}info["age"] = 20print(info["age"])# Output: 20info["age"] = info["age"] + 5print(info["age"])# Output: 25

删除已有的键值对

  • 使用 del 关键字,对某个键进行删除
info = {"name": "RainBomb", "age": 18}del info["age"]print(info)# Output: {'name': 'RainBomb'}
  • 使用字典内置的 pop(key) 函数,根据 key 删除对应内容,同时会将 key 对应的 value 也返回
info = {"name": "RainBomb", "age": 18}age = info.pop("age")print(age, info)# Output: 18 {'name': 'RainBomb'}
  • 使用字典内置的 clear() 函数,直接完全清空字典
info = {"name": "RainBomb", "age": 18}info.clear()print(info)# Output: {}

往期回顾:

2026年6月第2周GitHub热门项目

用OpenCV来实现简单的人脸检测 | Part.9

键盘上的Enter键为什么叫“回车”?

列表和字典的解构|Python自学成才(番外篇4)

用各种Skill/Tool助力论文写作

最新文章

随机文章