Python 字典全解析:从基础定义到实战应用
·
文章目录
在 Python 的众多数据结构中,字典(Dictionary) 是一种极为灵活且强大的存在。它以 “键 - 值对(Key-Value Pair)” 的形式存储数据,能高效地完成数据的存储、检索与操作。本文将从字典的定义、操作、嵌套应用到实战场景,全方位带你掌握 Python 字典。
一、字典的定义:三种创建方式
字典是 Python 中的可变容器,元素以{键: 值}的形式组织,键具有唯一性。以下是三种常见的字典创建方式:
# 方式1:直接通过大括号定义
my_dict1 = {"小明":95, "小红":88, "小兰":100}
# 方式2:创建空字典后逐步添加元素
my_dict2 = {}
# 方式3:通过dict()函数创建
my_dict3 = dict()
print(f"字典1的内容是:{my_dict1},类型是:{type(my_dict1)}")
print(f"字典2的内容是:{my_dict2},类型是:{type(my_dict2)}")
print(f"字典3的内容是:{my_dict3},类型是:{type(my_dict3)}")
需要注意的是,字典的键必须唯一,如果出现重复键,后定义的键值对会覆盖之前的。例如:
my_dict1 = {"小明":95, "小明":88, "小兰":100}
print(f"重复Key的字典内容是:{my_dict1}") # 输出:{'小明': 88, '小兰': 100}
二、字典的基本操作:增删改查(含详细代码示例)
字典的核心操作围绕 “键 - 值对” 展开,以下是常用操作的代码演示:
1. 基于键获取值
通过字典[键]可快速检索对应的值。
my_dict1 = {"小明":95, "小红":88, "小兰":100}
score = my_dict1["小兰"]
print(f"小兰的成绩为:{score},类型是:{type(score)}") # 输出小兰的成绩及类型
score = my_dict1["小明"]
print(f"小明的成绩为:{score},类型是:{type(score)}") # 输出小明的成绩及类型
2. 新增元素
为不存在的键赋值,即可向字典中添加新的键值对。
my_dict = {"小明":88, "小红":99, "小兰":77}
my_dict["小芳"] = 100 # 新增“小芳: 100”键值对
print(f"新增元素后,结果是:{my_dict}")
3. 更新元素
为已存在的键赋值,即可修改对应的值。
my_dict = {"小明":88, "小红":99, "小兰":77}
my_dict["小明"] = 66 # 将“小明”的成绩从88更新为66
print(f"更新元素后结果是:{my_dict}")
4. 删除指定元素
使用pop(键)方法,可删除并返回该键对应的值。
my_dict = {"小明":88, "小红":99, "小兰":77}
score = my_dict.pop("小明") # 删除“小明”键值对,返回其值88
print(f"字典中被移除了一个元素,结果是:{my_dict},小明的考试分数是:{score}")
- 清空字典
使用clear()方法,可清空字典中所有元素。
my_dict = {"小明":88, "小红":99, "小兰":77}
my_dict.clear() # 清空字典所有内容
print(f"字典被清空了,内容是:{my_dict}")
6. 获取全部键
使用keys()方法可获取字典中所有的键,返回可迭代对象。
my_dict = {"小明":88, "小红":99, "小兰":77}
keys = my_dict.keys()
print(f"字典的全部键为:{keys}")
三、字典的遍历:两种常用方式
遍历字典是获取所有键值对的重要操作,以下是两种方式的代码示例:
方式 1:通过keys()获取所有键后遍历
my_dict = {"小明":88, "小红":99, "小兰":77}
keys = my_dict.keys()
for key in keys:
print(f"字典的key是:{key}")
print(f"字典的value是:{my_dict[key]}")
方式 2:直接遍历字典(默认遍历键)
my_dict = {"小明":88, "小红":99, "小兰":77}
for key in my_dict: # 等价于 for key in my_dict.keys()
print(f"字典的key是:{key}")
print(f"字典的value是:{my_dict[key]}")
四、嵌套字典:复杂数据的组织利器
当需要存储多层级、结构化数据时,嵌套字典(字典中包含字典)是绝佳选择。例如存储学生多科目成绩:
stu_score_dict = {
"小明":{
"语文":77,
"数学":66,
"英语":33
},
"小红":{
"语文":88,
"数学":85,
"英语":99
},
"小兰":{
"语文":67,
"数学":90,
"英语":98
}
}
print(f"学生的考试信息是:{stu_score_dict}")
# 从嵌套字典中获取具体数据(如小兰的语文成绩)
score = stu_score_dict["小兰"]["语文"]
print(f"小兰的语文成绩是:{score}")
输出结果如图:
五、实战场景:字典在业务逻辑中的应用
以 “员工升职加薪” 为例,演示字典在实际业务中的处理能力:
my_dict = {
"小明":{
"部门":"科技部",
"工资":3000,
"级别":1
},
"小红":{
"部门":"市场部",
"工资":5000,
"级别":2
},
"小兰":{
"部门":"市场部",
"工资":7000,
"级别":3
},
"小英":{
"部门":"科技部",
"工资":4000,
"级别":1
},
"小芳":{
"部门":"市场部",
"工资":6000,
"级别":2
}
}
print(f"员工升职加薪前的结果为:{my_dict}")
# 遍历字典,为“级别为1”的员工升职加薪
for name in my_dict:
if my_dict[name]["级别"] == 1:
employee_info = my_dict[name] # 获取员工信息子字典
employee_info["级别"] = 2 # 级别提升
employee_info["工资"] += 1000 # 工资加1000
my_dict[name] = employee_info # 更新员工信息
print(f"员工升职加薪后的结果为:{my_dict}")
输出结果为:
总结
字典是 Python 中键值映射型数据结构的代表,具有以下核心优势:
键值对存储,数据检索效率高;
支持嵌套,能灵活组织复杂数据;
增删改查操作简洁,适配各类业务场景。
从基础定义到嵌套应用,再到实战业务逻辑,字典的实用性贯穿 Python 开发的方方面面。掌握字典,能让你在数据处理、业务逻辑实现上更加游刃有余。
更多推荐



所有评论(0)