Bootstrap

Python字典详解:从入门到实践

Python字典详解:从入门到实践

字典(Dictionary)是Python中最重要且最常用的数据结构之一。本文将深入讲解字典的特性、操作方法和实际应用案例。

1. 字典简介

字典是可变的无序的键值对集合,使用{}创建。每个元素由key: value组成,具有以下特点:

  • 键(key)必须唯一且不可变(字符串、数字、元组)
  • 值(value)可以是任意类型
  • 查找速度快(基于哈希表实现)
# 创建字典
student = {
    "name": "Alice",
    "age": 20,
    "courses": ["Math", "Physics"]
}

2. 基本操作

2.1 访问元素

print(student["name"])  # Alice
print(student.get("age"))  # 20(推荐方式,避免KeyError)

2.2 添加/修改元素

student["email"] = "[email protected]"  # 添加新键值对
student["age"] = 21  # 修改已有值

2.3 删除元素

del student["courses"]  # 删除指定键
age = student.pop("age")  # 删除并返回值

3. 常用方法

3.1 遍历字典

# 遍历键
for key in student.keys():
    print(key)

# 遍历键值对
for key, value in student.items():
    print(f"{key}: {value}")

3.2 合并字典

grades1 = {"Math": 90, "English": 85}
grades2 = {"Physics": 88, "Chemistry": 92}
grades1.update(grades2)

3.3 其他实用方法

# 获取所有键
keys = list(student.keys())

# 设置默认值
scores = student.setdefault("scores", {})

# 清空字典
student.clear()

4. 高级应用

4.1 字典推导式

squares = {x: x**2 for x in range(1, 6)}
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

4.2 嵌套字典

employees = {
    1001: {
        "name": "John",
        "department": "IT",
        "projects": ["A", "B"]
    },
    1002: {
        "name": "Emma",
        "department": "HR"
    }
}

5. 综合案例:学生管理系统

def student_management():
    students = {}
    
    while True:
        print("\n1. 添加学生\n2. 查询学生\n3. 删除学生\n4. 退出")
        choice = input("请选择操作:")
        
        if choice == "1":
            student_id = input("学号:")
            name = input("姓名:")
            students[student_id] = {"name": name}
            
        elif choice == "2":
            student_id = input("输入查询学号:")
            print(students.get(student_id, "学生不存在"))
            
        elif choice == "3":
            student_id = input("输入删除学号:")
            if student_id in students:
                del students[student_id]
                print("删除成功")
            else:
                print("学生不存在")
                
        elif choice == "4":
            break

student_management()

总结

字典作为Python的核心数据结构,具有以下优势:

  • 快速查找(O(1)时间复杂度)
  • 灵活的数据组织方式
  • 支持复杂数据嵌套
  • 丰富的内置方法

掌握字典的使用可以显著提升编程效率,建议通过实际项目多加练习!

;