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 的核心数据结构之一,既是日常开发的利器,也是面试中必考的重点。

相关推荐
傻啦嘿哟3 小时前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_933670793 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
2601_962077603 小时前
python Dejavu库快速识别音频指纹实例探究
python·音乐识别·dejavu库·音频指纹识别·实例探究
科技苑4 小时前
如何用Python编程实现一个简单的Web爬虫?
人工智能·python
dayDayupbetter4 小时前
Visual C++ 2010安装与使用高手秘籍
python
隐擎fox4 小时前
深入理解网络传输层安全:TLS 指纹识别(JA3/JA4)原理与 Python 协议层检测实战
爬虫·python·网络协议·安全·网络安全·https
医疗信息化王工4 小时前
DataForge:基于 Python 的数据库批量导出 Excel 工具——从架构到部署的全流程实战
数据库·python·excel
小玮看世界5 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python
Java陈序员6 小时前
轻量运维面板!一款现代化的服务器控制面板工具!
运维·服务器·python·react.js·github
2601_962097366 小时前
1. 使用 C 或 C++ 扩展 Python
python·api·c·引用计数·扩展模块