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

news/2025/2/3 4:36:26 标签: python, python基础, python字典

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

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

1. 字典简介

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

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

2. 基本操作

2.1 访问元素

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

2.2 添加/修改元素

python">student["email"] = "alice@example.com"  # 添加新键值对
student["age"] = 21  # 修改已有值

2.3 删除元素

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

3. 常用方法

3.1 遍历字典

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

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

3.2 合并字典

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

3.3 其他实用方法

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

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

# 清空字典
student.clear()

4. 高级应用

4.1 字典推导式

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

4.2 嵌套字典

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

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

python">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.niftyadmin.cn/n/5840481.html

相关文章

编程AI深度实战:大模型知识一文打尽

系列文章: 编程AI深度实战:私有模型deep seek r1,必会ollama-CSDN博客 编程AI深度实战:自己的AI,必会LangChain-CSDN博客 编程AI深度实战:给vim装上AI-CSDN博客 编程AI深度实战:火的编程AI&…

9.2k star!PiliPala一个第三方B站客户端!

软件介绍 链接 PiliPala一个在Github上收获9.2k star的开源第三方bilibili客户端,支持安卓和ios端安装使用。应用界面简洁无广、除核心功能外无任何冗余功能和服务,让我们可以尽情的享受内容带给我们的快乐。 基础的功能如登录、点赞收藏、评论、关注、…

手写单层RNN网络,后续更新

文章目录 1. 原理2. pytorch 源码,只是测试版,后续持续优化 1. 原理 根据如下公式,简单的手写实现单层的RNN神经网络,加强代码功能和对网络的理解能力 2. pytorch 源码,只是测试版,后续持续优化 import…

DeepSeek的提示词使用说明

一、DeepSeek概述 DeepSeek是一款基于先进推理技术的大型语言模型,能够根据用户提供的简洁提示词生成高质量、精准的内容。在实际应用中,DeepSeek不仅能够帮助用户完成各类文案撰写、报告分析、市场研究等工作,还能够生成结构化的内容&#…

动手学强化学习(四)——蒙特卡洛方法

一、蒙特卡洛方法 蒙特卡洛方法是一种无模型(Model-Free)的强化学习算法,它通过直接与环境交互采样轨迹(episodes)来估计状态或动作的价值函数(Value Function),而不需要依赖环境动态…

处理 .gitignore 未忽略文件夹问题

本地删除缓存 例如 .idea 文件夹被其他同事误提交,那么他本地执行以下代码 git rm -r --cached .idea对应本地再提交即可

STM32 LED呼吸灯

接线图: 这里将正极接到PA0引脚上,负极接到GND,这样就高电平点亮LED,低电平熄灭。 占空比越大,LED越亮,占空比越小,LED越暗 PWM初始化配置 输出比较函数介绍: 用这四个函数配置输…

牛客周赛 Round 78

题目目录 A-时间表查询!解题思路参考代码 B-一起做很甜的梦!解题思路参考代码 C-翻之解题思路参考代码 D-乘之解题思路参考代码 E-在树上游玩解题思路参考代码 A-时间表查询! \hspace{15pt} 今天是2025年1月25日,今年的六场牛客寒…