Python 字典速查:键值对操作与高频函数
字典基础操作
创建字典
字典通过花括号 {} 或 dict() 构造函数创建,键值对以 key: value 形式存储。
# 直接创建
my_dict = {'name': 'Alice', 'age': 25}
# 使用 dict()
empty_dict = dict()
访问与修改值
通过键直接访问或修改值,若键不存在会触发 KeyError。
my_dict['name'] = 'Bob' # 修改值
print(my_dict['age']) # 访问值
检查键是否存在
使用 in 关键字或 get() 方法避免 KeyError。
if 'name' in my_dict:
print("Key exists")
value = my_dict.get('address', 'default_value') # 提供默认值
键值对操作
添加与删除键值对
直接赋值添加新键值对,del 或 pop() 删除键值对。
my_dict['gender'] = 'Male' # 添加
del my_dict['age'] # 删除
removed_value = my_dict.pop('name') # 删除并返回值
遍历字典
通过 keys()、values() 和 items() 方法遍历键、值或键值对。
for key in my_dict.keys():
print(key)
for value in my_dict.values():
print(value)
for key, value in my_dict.items():
print(f"{key}: {value}")
高频函数与方法
合并字典
使用 update() 或 | 运算符(Python 3.9+)合并字典。
dict1 = {'a': 1}
dict2 = {'b': 2}
dict1.update(dict2) # 合并到 dict1
# Python 3.9+
merged_dict = dict1 | dict2
字典推导式
快速生成字典,类似列表推导式。
squares = {x: x**2 for x in range(5)} # {0: 0, 1: 1, 2: 4, ...}
默认值处理
setdefault() 在键不存在时设置默认值,collections.defaultdict 自动处理缺失键。
my_dict.setdefault('score', 100) # 如果 'score' 不存在,设为 100
from collections import defaultdict
dd = defaultdict(int) # 默认值为 0
dd['count'] += 1
排序字典
sorted() 函数对键或值排序,返回排序后的列表。
sorted_keys = sorted(my_dict.keys()) # 按键排序
sorted_items = sorted(my_dict.items(), key=lambda x: x[1]) # 按值排序
进阶操作
字典解包
** 运算符用于解包字典,常用于函数参数传递。
def print_info(name, age):
print(f"{name} is {age} years old")
print_info(**{'name': 'Alice', 'age': 25}) # 解包为关键字参数
字典与 JSON 转换
json 模块实现字典与 JSON 字符串的相互转换。
import json
json_str = json.dumps(my_dict) # 字典转 JSON
restored_dict = json.loads(json_str) # JSON 转字典

1139

被折叠的 条评论
为什么被折叠?



