当前位置: 首页 > article >正文

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"] = "alice@example.com"  # 添加新键值对
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)时间复杂度)
  • 灵活的数据组织方式
  • 支持复杂数据嵌套
  • 丰富的内置方法

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


http://www.kler.cn/a/528750.html

相关文章:

  • P3199 【[HNOI2009]最小圈】
  • 【自学笔记】Web前端的重点知识点-持续更新
  • 【llm对话系统】大模型 Llama 源码分析之 LoRA 微调
  • 【Vaadin flow 实战】第5讲-使用常用UI组件绘制页面元素
  • TOF技术原理和静噪对策
  • std::call_once的原理及使用
  • fpga系列 HDL:XILINX Vivado ILA FPGA 在线逻辑分析
  • CF 581A.Vasya the Hipster(Java实现)
  • XML DOM - 访问节点
  • Java线程认识和Object的一些方法ObjectMonitor
  • 基于 STM32 的智能电梯控制系统
  • SZU大学物理2实验报告|超声探伤实验
  • GPG格式介绍:什么是GPG?如何加密和解密?
  • C++哈希(链地址法)(二)详解
  • AI智能化模型助力太阳能光伏板自动巡检运维,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建无人机航拍场景下太阳能光伏板污损缺陷智能检测识别系统
  • K8S ReplicaSet 控制器
  • Electricity Market Optimization 探索系列(一)
  • 【SQL】SQL注入知识总结
  • 【Java异步编程】CompletableFuture实现:异步任务的合并执行
  • 跨平台的客户端gui到底是选“原生”还是web