Python 字典速查:键值对操作与高频函数

在 Python 中,字典(dict) 是最常用的数据结构之一。它以 键值对(key-value) 的形式存储数据,查找速度非常快,是面试高频考点之一。本文将带你快速掌握字典的常见操作与高频函数。

一、创建字典

使用大括号

person = {"name": "Tom", "age": 20, "city": "Beijing"}

使用 dict() 构造函数

info = dict(name="Alice", age=25)

创建空字典

empty_dict = {}

二、访问字典

  1. 通过键访问

person = {"name": "Tom", "age": 20}

print(person"name") # Tom

如果访问不存在的键,会报 KeyError。

  1. 使用 get() 方法

print(person.get("name")) # Tom

print(person.get("gender")) # None

print(person.get("gender", "男")) # 男

优势:get() 可以设置默认值,避免报错。

三、增删改操作

  1. 新增键值对

person"gender" = "男"

print(person) # {"name": "Tom", "age": 20, "gender": "男"}

  1. 修改值

person"age" = 30

print(person) # {"name": "Tom", "age": 30, "gender": "男"}

  1. 删除键值对

使用 pop()

val = person.pop("age")

print(val) # 30

print(person) # {"name": "Tom", "gender": "男"}

使用 del

del person"gender"

print(person) # {"name": "Tom"}

四、字典的遍历

person = {"name": "Tom", "age": 20}

  1. 遍历键

for key in person.keys():

print(key)

  1. 遍历值

for value in person.values():

print(value)

  1. 遍历键值对

for k, v in person.items():

print(k, v)

五、高频函数与方法

  1. update() ------ 批量更新

person = {"name": "Tom", "age": 20}

person.update({"age": 25, "city": "Beijing"})

print(person) # {"name": "Tom", "age": 25, "city": "Beijing"}

  1. popitem() ------ 删除最后一个键值对

info = {"a": 1, "b": 2}

print(info.popitem()) # ('b', 2)

print(info) # {'a': 1}

  1. setdefault() ------ 获取键,如果不存在则设置默认值

person = {"name": "Tom"}

print(person.setdefault("age", 20)) # 20

print(person) # {"name": "Tom", "age": 20}

六、字典推导式

squares = {x: x**2 for x in range(5)}

print(squares) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

结合条件语句:

even_squares = {x: x**2 for x in range(10) if x % 2 == 0}

print(even_squares) # {0: 0, 2: 4, 4: 16, 6: 36, 8: 64}

七、面试常考陷阱

  1. 字典的键必须是不可变对象

  2. 正确

d = {1: "int", (1, 2): "tuple"}

  1. 错误:列表是可变对象,不能作为字典键

d = {1, 2: "list"} # ❌ TypeError

  1. 字典的查找速度

字典底层采用 哈希表 实现,查找键的时间复杂度接近 O(1)。这是为什么字典比列表查找更快的原因。

● 八、总结

创建与访问:掌握 \[\] 与 get() 的区别。

增删改查:熟练使用 pop、update、setdefault 等方法。

遍历与推导式:提高代码简洁性。

面试考点:理解键必须是不可变对象,掌握哈希表原理。

👉 字典是 Python 的核心数据结构之一,既是日常开发的利器,也是面试中必考的重点。

相关推荐
奔跑的蜗牛ing1 小时前
CentOS Nginx 安装与静态文件服务器配置指南
前端·面试·架构
飞猪~1 小时前
LangChain python 版本 第一集
开发语言·python·langchain
2601_956319882 小时前
最新AI量化提效,先做可验证的小流程
人工智能·python
开飞机的舒克_3 小时前
FastAPI 实战入门:从路由、参数校验到依赖注入的后端开发指南
python·fastapi
霸道流氓气质4 小时前
Kiro 中反编译 JAR 包并分析字节码的流程指南
chrome·python·jar
KaifuZeng4 小时前
通信与接口协议面试五、RS422
嵌入式硬件·面试·通信与接口
人工智能时代 准备好了吗4 小时前
AI回答内容进入率监测:引用识别、文本匹配与语义判断
开发语言·人工智能·python
Metaphor6925 小时前
使用 Python 冻结 Excel 文件中的行、列和单元格
开发语言·python·excel
言乐65 小时前
Python实现建造微服务商城后台
开发语言·python·算法·微服务·架构
fenglllle5 小时前
chromadb emmbedding 向量检索
人工智能·python·embedding