【学习记录】Python中的字典数据类型

Explorer 发布于 2024-11-25 270 次阅读


AI 摘要

想知道如何用Python高效管理数据吗?本文带你玩转字典(dict)这种强大的数据结构!从多种创建方式入手,掌握访问、更新、删除等基本操作,更有独家秘籍教你轻松遍历字典,提取键、值,甚至键值对!合并、清空、浅拷贝,各种实用方法一网打尽。更有学生成绩管理系统实例,让你即学即用,感受字典的魅力。还在等什么?一起解锁Python字典的无限可能吧!
Python 字典知识点总结

Python 字典知识点总结

Python 中的 字典dict)是一种内置的数据结构,用于存储键值对(key-value pairs)。它是无序的(Python 3.7 开始保持插入顺序),并且支持快速的查找、插入和删除操作。

1. 创建字典

方法 1: 使用大括号 {} 定义:

grades = {"语文": 90, "数学": 80, "英语": 85}

方法 2: 使用 dict() 函数:

grades = dict(语文=90, 数学=80, 英语=85)  

方法 3: 从键值对列表创建:

grades = dict([("语文", 90), ("数学", 80), ("英语", 85)])

2. 字典的基本操作

访问值

使用键访问对应的值:

grades = {"语文": 90, "数学": 80}
print(grades["语文"])  # 输出: 90

如果键不存在,会抛出 KeyError。可以用 get() 方法避免:

print(grades.get("英语", "未找到该科目"))  

更新或新增键值对

grades["英语"] = 85  # 更新或新增键值对
print(grades)  # 输出: {'语文': 90, '数学': 80, '英语': 85}

删除键值对

del grades["数学"]  # 删除键为 "数学" 的键值对
print(grades)  # 输出: {'语文': 90, '英语': 85}

检查键是否存在

if "语文" in grades:
    print("语文成绩存在")

3. 遍历字典

遍历键

for key in grades:
    print(key)  # 输出: 语文 数学 英语

遍历值

for value in grades.values():
    print(value)  # 输出: 90 80 85

遍历键值对

for key, value in grades.items():
    print(f"{key}: {value}")  # 输出: 语文: 90 数学: 80 英语: 85

4. 字典常用方法

获取所有键、值或键值对

keys = grades.keys()     # 获取所有键:dict_keys(['语文', '数学', '英语'])
values = grades.values() # 获取所有值:dict_values([90, 80, 85])
items = grades.items()   # 获取键值对:dict_items([('语文', 90), ('数学', 80), ('英语', 85)])

合并字典

extra_grades = {"物理": 88, "化学": 92}
grades.update(extra_grades)
print(grades)  # 输出: {'语文': 90, '数学': 80, '英语': 85, '物理': 88, '化学': 92}

清空字典

grades.clear()  # 清空所有键值对

浅拷贝字典

grades_copy = grades.copy()

5. 字典的特点

  • 键唯一:字典的键不能重复,如果出现重复,后面的值会覆盖前面的值。
    grades = {"语文": 90, "语文": 95}
    print(grades)  # 输出: {'语文': 95}
  • 键必须是不可变对象:如字符串、数字、元组等。
    invalid_dict = {[1, 2]: "list as key"}  # 报错:TypeError

6. 示例:学生成绩管理系统

# 定义字典
grades = {"语文": 90, "数学": 80, "英语": 85}

# 添加一门课程
grades["物理"] = 88

# 修改成绩
grades["数学"] = 95

# 删除课程
del grades["英语"]

# 遍历输出
for course, grade in grades.items():
    print(f"{course}: {grade}")

输出结果:

语文: 90
数学: 95
物理: 88

总结

字典是非常高效且灵活的数据结构,广泛用于实际编程中,例如存储配置、实现简单数据库、计数频率等。

此作者没有提供个人介绍。
最后更新于 2025-06-28