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·算法·leetcode·散列表
背心2块钱包邮3 小时前
第9节——部分分式积分(Partial Fraction Decomposition)
人工智能·python·算法·机器学习·matplotlib
木盏3 小时前
三维高斯的分裂
开发语言·python
a程序小傲3 小时前
京东Java面试被问:ZGC的染色指针如何实现?内存屏障如何处理?
java·后端·python·面试
大连好光景4 小时前
批量匿名数据重识别(debug记录)
开发语言·python
暴风鱼划水4 小时前
算法题(Python)哈希表 | 2.两个数组的交集
python·算法·哈希表
清水白石0084 小时前
《深入 Celery:用 Python 构建高可用任务队列的实战指南》
开发语言·python
BoBoZz194 小时前
Hello 隐式建模
python·vtk·图形渲染·图形处理
副露のmagic4 小时前
更弱智的算法学习day 10
python·学习·算法
程序员清风4 小时前
别卷模型了!上下文工程才是大模型应用的王道!
java·后端·面试