- Python 基础
- Python - 首页
- Python - 概述
- Python - 历史
- Python - 特性
- Python vs C++
- Python - Hello World 程序
- Python - 应用领域
- Python - 解释器
- Python - 环境搭建
- Python - 虚拟环境
- Python - 基本语法
- Python - 变量
- Python - 数据类型
- Python - 类型转换
- Python - Unicode 系统
- Python - 字面量
- Python - 运算符
- Python - 算术运算符
- Python - 比较运算符
- Python - 赋值运算符
- Python - 逻辑运算符
- Python - 位运算符
- Python - 成员运算符
- Python - 身份运算符
- Python - 运算符优先级
- Python - 注释
- Python - 用户输入
- Python - 数字
- Python - 布尔值
- Python 控制语句
- Python - 控制流
- Python - 决策制定
- Python - If 语句
- Python - If else
- Python - 嵌套 If
- Python - Match-Case 语句
- Python - 循环
- Python - for 循环
- Python - for-else 循环
- Python - While 循环
- Python - break 语句
- Python - continue 语句
- Python - pass 语句
- Python - 嵌套循环
- Python 函数 & 模块
- Python - 函数
- Python - 默认参数
- Python - 关键字参数
- Python - 仅限关键字参数
- Python - 位置参数
- Python - 仅限位置参数
- Python - 可变参数
- Python - 变量作用域
- Python - 函数注解
- Python - 模块
- Python - 内置函数
- Python 字符串
- Python - 字符串
- Python - 字符串切片
- Python - 修改字符串
- Python - 字符串连接
- Python - 字符串格式化
- Python - 转义字符
- Python - 字符串方法
- Python - 字符串练习
- Python 列表
- Python - 列表
- Python - 访问列表项
- Python - 修改列表项
- Python - 添加列表项
- Python - 删除列表项
- Python - 循环遍历列表
- Python - 列表推导式
- Python - 对列表排序
- Python - 复制列表
- Python - 合并列表
- Python - 列表方法
- Python - 列表练习
- Python 元组
- Python - 元组
- Python - 访问元组项
- Python - 更新元组
- Python - 解包元组
- Python - 循环遍历元组
- Python - 合并元组
- Python - 元组方法
- Python - 元组练习
- Python 集合
- Python - 集合
- Python - 访问集合项
- Python - 添加集合项
- Python - 删除集合项
- Python - 循环遍历集合
- Python - 合并集合
- Python - 复制集合
- Python - 集合运算符
- Python - 集合方法
- Python - 集合练习
- Python 字典
- Python - 字典
- Python - 访问字典项
- Python - 修改字典项
- Python - 添加字典项
- Python - 删除字典项
- Python - 字典视图对象
- Python - 循环遍历字典
- Python - 复制字典
- Python - 嵌套字典
- Python - 字典方法
- Python - 字典练习
- Python 数组
- Python - 数组
- Python - 访问数组项
- Python - 添加数组项
- Python - 删除数组项
- Python - 循环遍历数组
- Python - 复制数组
- Python - 反转数组
- Python - 对数组排序
- Python - 合并数组
- Python - 数组方法
- Python - 数组练习
- Python 文件处理
- Python - 文件处理
- Python - 写入文件
- Python - 读取文件
- Python - 重命名和删除文件
- Python - 目录
- Python - 文件方法
- Python - OS 文件/目录方法
- Python - OS 路径方法
- 面向对象编程
- Python - OOPs 概念
- Python - 类 & 对象
- Python - 类属性
- Python - 类方法
- Python - 静态方法
- Python - 构造函数
- Python - 访问修饰符
- Python - 继承
- Python - 多态
- Python - 方法重写
- Python - 方法重载
- Python - 动态绑定
- Python - 动态类型
- Python - 抽象
- Python - 封装
- Python - 接口
- Python - 包
- Python - 内部类
- Python - 匿名类和对象
- Python - 单例类
- Python - 包装器类
- Python - 枚举
- Python - 反射
- Python 错误 & 异常
- Python - 语法错误
- Python - 异常
- Python - try-except 块
- Python - try-finally 块
- Python - 抛出异常
- Python - 异常链接
- Python - 嵌套 try 块
- Python - 用户自定义异常
- Python - 日志记录
- Python - 断言
- Python - 内置异常
- Python 多线程
- Python - 多线程
- Python - 线程生命周期
- Python - 创建线程
- Python - 启动线程
- Python - 加入线程
- Python - 线程命名
- Python - 线程调度
- Python - 线程池
- Python - 主线程
- Python - 线程优先级
- Python - 守护线程
- Python - 线程同步
- Python 同步
- Python - 线程间通信
- Python - 线程死锁
- Python - 中断线程
- Python 网络编程
- Python - 网络编程
- Python - 套接字编程
- Python - URL 处理
- Python - 泛型
- Python 库
- NumPy 教程
- Pandas 教程
- SciPy 教程
- Matplotlib 教程
- Django 教程
- OpenCV 教程
- Python 杂项
- Python - 日期 & 时间
- Python - 数学
- Python - 迭代器
- Python - 生成器
- Python - 闭包
- Python - 装饰器
- Python - 递归
- Python - 正则表达式
- Python - PIP
- Python - 数据库访问
- Python - 弱引用
- Python - 序列化
- Python - 模板
- Python - 输出格式化
- Python - 性能测量
- Python - 数据压缩
- Python - CGI 编程
- Python - XML 处理
- Python - GUI 编程
- Python - 命令行参数
- Python - 文档字符串
- Python - JSON
- Python - 发送邮件
- Python - 扩展
- Python - 工具/实用程序
- Python - GUIs
- Python 高级概念
- Python - 抽象基类
- Python - 自定义异常
- Python - 高阶函数
- Python - 对象内部
- Python - 内存管理
- Python - 元类
- Python - 使用元类进行元编程
- Python - 模拟和存根
- Python - 猴子补丁
- Python - 信号处理
- Python - 类型提示
- Python - 自动化教程
- Python - Humanize 包
- Python - 上下文管理器
- Python - 协程
- Python - 描述符
- Python - 诊断和修复内存泄漏
- Python - 不可变数据结构
- Python 有用资源
- Python - 问答
- Python - 在线测验
- Python - 快速指南
- Python - 参考
- Python - 速查表
- Python - 项目
- Python - 有用资源
- Python - 讨论
- Python 编译器
- NumPy 编译器
- Matplotlib 编译器
- SciPy 编译器
Python - 删除字典项
删除字典项
在 Python 中删除字典项是指从现有字典中删除键值对。字典是可变的数据结构,用于保存键及其关联值的配对。每个键充当唯一的标识符,映射到字典中的特定值。
从字典中删除项允许您消除字典中不必要或不需要的数据,从而减小其大小并修改其内容。
我们可以使用多种方法在 Python 中删除字典项,例如:
- 使用 del 关键字
- 使用 pop() 方法
- 使用 popitem() 方法
- 使用 clear() 方法
- 使用字典推导式
使用 del 关键字删除字典项
Python 中的 del 关键字用于删除对象。在字典的上下文中,它用于根据指定的键(或键范围)从 字典 中删除项。
我们可以通过指定要删除的项的键来使用 del 关键字删除字典项。这将从字典中删除与指定键关联的键值对。
示例 1
在以下示例中,我们创建了一个名为 numbers 的字典,其中包含整数键及其对应的字符串值。然后,使用 del 关键字删除键为 '20' 的项:
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"} print ("numbers dictionary before delete operation: \n", numbers) del numbers[20] print ("numbers dictionary before delete operation: \n", numbers)
这将产生以下输出:
numbers dictionary before delete operation: {10: 'Ten', 20: 'Twenty', 30: 'Thirty', 40: 'Forty'} numbers dictionary before delete operation: {10: 'Ten', 30: 'Thirty', 40: 'Forty'}
示例 2
当 del 关键字与字典对象一起使用时,会将字典从内存中删除:
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"} print ("numbers dictionary before delete operation: \n", numbers) del numbers print ("numbers dictionary before delete operation: \n", numbers)
以下是获得的输出:
numbers dictionary before delete operation: {10: 'Ten', 20: 'Twenty', 30: 'Thirty', 40: 'Forty'} Traceback (most recent call last): File "C:\Users\mlath\examples\main.py", line 5, in <module> print ("numbers dictionary before delete operation: \n", numbers) ^^^^^^^ NameError: name 'numbers' is not defined
使用 pop() 方法删除字典项
Python 中的 pop() 方法用于从字典中删除指定的键并返回相应的值。如果未找到指定的键,它可以选择性地返回默认值,而不是引发 KeyError。
我们可以使用 `pop()` 方法通过指定要删除的项目的键来删除字典项。此方法将返回与指定键关联的值,并从字典中删除键值对。
示例
在这个例子中,我们使用 `pop()` 方法从 'numbers' 字典中删除键为 '20' 的项(将其值存储在 val 中)。然后我们检索更新后的字典和弹出的值 -
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"} print ("numbers dictionary before pop operation: \n", numbers) val = numbers.pop(20) print ("nubvers dictionary after pop operation: \n", numbers) print ("Value popped: ", val)
以下是上述代码的输出 -
numbers dictionary before pop operation: {10: 'Ten', 20: 'Twenty', 30: 'Thirty', 40: 'Forty'} nubvers dictionary after pop operation: {10: 'Ten', 30: 'Thirty', 40: 'Forty'} Value popped: Twenty
使用 popitem() 方法删除字典项
Python 中的 `popitem()` 方法用于删除并返回字典中的最后一个键值对。
从 Python 3.7 开始,字典保持插入顺序,因此 `popitem()` 删除最近添加的项。如果字典为空,则调用 `popitem()` 会引发 KeyError。
我们可以通过在字典上调用 `popitem()` 方法来删除字典项,该方法会删除并返回添加到字典中的最后一个键值对。
示例
在下面的示例中,我们使用 `popitem()` 方法从 'numbers' 字典中删除一个任意项(将其键值对都存储在 val 中),并检索更新后的字典以及弹出的键值对 -
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"} print ("numbers dictionary before pop operation: \n", numbers) val = numbers.popitem() print ("numbers dictionary after pop operation: \n", numbers) print ("Value popped: ", val)
上述代码的输出如下所示 -
numbers dictionary before pop operation: {10: 'Ten', 20: 'Twenty', 30: 'Thirty', 40: 'Forty'} numbers dictionary after pop operation: {10: 'Ten', 20: 'Twenty', 30: 'Thirty'} Value popped: (40, 'Forty')
使用 clear() 方法删除字典项
Python 中的 clear() 方法 用于删除字典中的所有项。它有效地清空了字典,使其长度为 0。
我们可以通过在字典对象上调用 `clear()` 方法来删除字典项。此方法会删除字典中的所有键值对,使其有效地变为空。
示例
在以下示例中,我们使用 `clear()` 方法删除 'numbers' 字典中的所有项 -
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"} print ("numbers dictionary before clear method: \n", numbers) numbers.clear() print ("numbers dictionary after clear method: \n", numbers)
我们得到如下所示的输出 -
numbers dictionary before clear method: {10: 'Ten', 20: 'Twenty', 30: 'Thirty', 40: 'Forty'} numbers dictionary after clear method: {}
使用字典推导式删除字典项
字典推导式是在 Python 中创建字典的简洁方法。它遵循与列表推导式相同的语法,但生成字典而不是列表。使用字典推导式,您可以遍历可迭代对象(例如列表、元组或其他字典),对每个项目应用表达式,并根据该表达式的结果构造键值对。
我们不能直接使用字典推导式删除字典项。字典推导式主要用于基于现有数据的某些转换或过滤创建新字典,而不是用于从字典中删除项。
如果您需要根据某些条件从字典中删除项,通常会使用其他方法,如 `del`、`pop()` 或 `popitem()`。这些方法允许您明确指定要从字典中删除哪些项。
示例
在这个例子中,我们根据预定义的要删除的键列表从 'student_info' 字典中删除 'age' 和 'major' 项 -
# Creating a dictionary student_info = { "name": "Alice", "age": 21, "major": "Computer Science" } # Removing items based on conditions keys_to_remove = ["age", "major"] for key in keys_to_remove: student_info.pop(key, None) print(student_info)
获得的输出如下所示 -
{'name': 'Alice'}