尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Python中的字典(Dictionary)是其最强大且灵活的内建数据结构之一
Python中的字典Dictionary是其最强大且灵活的内建数据结构之一。它通过“键值对”的形式存储数据允许我们通过一个唯一的“键”来快速访问对应的“值”。这种结构在计算机科学中通常被称为“关联数组”或“哈希表”。本文将深入探讨Python字典的键值操作涵盖从基础创建、增删改查到高级的遍历、推导式以及性能优化等方方面面并提供详尽的代码示例。 字典基础与创建字典的每个键值对用冒号:分割每个键值对之间用逗号,分割整个字典包括在花括号{}中。基本语法# 创建一个空字典my_dict{}# 创建一个包含初始数据的字典student{name:张三,age:20,major:计算机科学}print(student)# 输出: {name: 张三, age: 20, major: 计算机科学}键的特性字典的键必须是唯一的并且必须是不可变类型如字符串、数字、元组。值可以是任何数据类型并且可以重复。# 键重复的情况duplicate_key_dict{name:李四,name:王五}print(duplicate_key_dict)# 输出: {name: 王五} (后面的值会覆盖前面的值)# 使用元组作为键tuple_key_dict{(1,2):坐标点}print(tuple_key_dict)# 输出: {(1, 2): 坐标点}️ 核心操作增、删、改、查对字典的操作主要围绕键值对进行。添加与修改添加新键值对和修改现有键值对的语法是完全一样的都是使用dict[key] value的形式。如果键不存在则添加如果键已存在则修改其对应的值。info{name:张三,age:25}# 添加新的键值对info[city]北京print(f添加后:{info})# 输出: 添加后: {name: 张三, age: 25, city: 北京}# 修改已存在的键的值info[age]26print(f修改后:{info})# 输出: 修改后: {name: 张三, age: 26, city: 北京}批量更新update()方法可以用来将一个字典的键值对批量添加到另一个字典中。如果键已存在则会更新其值。dict1{a:1,b:2}dict2{b:3,c:4}dict1.update(dict2)print(dict1)# 输出: {a: 1, b: 3, c: 4}查询获取字典元素时不能使用索引必须使用键。使用**[]**操作符这是最直接的方式但如果键不存在会抛出KeyError异常。使用**get()**方法get(key, default_value)方法更安全。如果键存在返回其值如果键不存在则返回default_value如果未提供则返回None。删除有多种方式可以从字典中删除键值对。**del**语句直接删除指定的键值对。**pop(key)**方法删除指定的键并返回其对应的值。如果键不存在会抛出KeyError。**popitem()**方法删除并返回字典中的最后一个键值对在Python 3.7中字典是有序的所以会删除最后插入的项。**clear()**方法清空字典中的所有元素。 遍历字典遍历字典是日常开发中的常见操作Python提供了三种主要方法。遍历键直接对字典进行for循环默认遍历的是所有的键。keys()方法可以显式地返回所有键。遍历值使用values()方法可以遍历字典中所有的值。遍历键值对使用items()方法可以同时获取键和值。它返回一个包含(键, 值)元组的可迭代对象。✨ 高级特性字典推导式字典推导式是一种从其他可迭代对象快速、简洁地创建字典的强大语法。它的结构与列表推导式类似。基本语法{key_expression: value_expression for item in iterable}示例从列表创建字典# 将列表中的数字作为键其平方作为值numbers[1,2,3,4,5]squared_dict{num:num**2fornuminnumbers}print(squared_dict)# 输出: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}带条件的字典推导式可以在推导式中加入if条件进行过滤。# 只将奇数及其平方存入字典numbers[1,2,3,4,5]odd_squared_dict{num:num**2fornuminnumbersifnum%2!0}print(odd_squared_dict)# 输出: {1: 1, 3: 9, 5: 25}转换现有字典字典推导式也可以用来处理或过滤现有的字典。original_dict{a:1,b:2,c:3,d:4}# 创建一个新字典只包含值大于2的项filtered_dict{k:vfork,vinoriginal_dict.items()ifv2}print(filtered_dict)# 输出: {c: 3, d: 4} 总结Python字典通过其高效的键值对存储和访问机制成为了处理结构化数据的利器。掌握其核心的增删改查操作、灵活的遍历方法以及强大的字典推导式将极大地提升你的编程效率和代码的优雅性。无论是在数据存储、配置管理还是算法实现中字典都扮演着不可或缺的角色。
RELATED

相关推荐

SpringCloud微服务骨架实战:从注册中心到分布式事务

SpringCloud微服务骨架实战:从注册中心到分布式事务

简介:基于Spring Cloud的黑马商城微服务架构设计源码,面向正在学习微服务实战的Java开发者。项目按业务域拆分为商品、用户、搜索、订单等服务,包含统一网关与Feign远程调用模块,可帮助理解服务注册发现、配置中心、负载均衡、熔断…

📅 2026/9/11 19:20:47
Linux学习笔记之echo命令

Linux学习笔记之echo命令

功能:显示字符语法: echo [-neE][字符串]说明:echo会将输入的字符串送往标准输出。输出的字符传间以空白字符隔开,并在最后加上黄行号选项:-E (默认)不支持\解释功能-n 不自动换行-e 启用\字符的…

📅 2026/9/11 19:20:47
Python异常处理是编程中非常重要的一个部分,它允许程序优雅地处理错误情况,而不是在遇到错误时简单地终止运行

Python异常处理是编程中非常重要的一个部分,它允许程序优雅地处理错误情况,而不是在遇到错误时简单地终止运行

Python异常处理是编程中非常重要的一个部分,它允许程序优雅地处理错误情况,而不是在遇到错误时简单地终止运行。Python使用try和except语句块来捕获和处理异常。 一、异常类型 在Python中,异常是在程序运行时发生的错误,这些错误会…

📅 2026/9/11 19:20:47
MORE NEWS

更多资讯

📰

Backstage 后端模块(Backend Modules)深度解析:用扩展点扩展插件的能力边界

Backstage 后端模块(Backend Modules)深度解析:用扩展点扩展插件的能力边界 【免费下载链接】backstage Backstage is an open framework for building developer portals 项目地址: https://gitcode.com/GitHub_Trending/ba/backstage …

📰

终极RPA-Python自动化指南:如何用Python快速解放你的双手

终极RPA-自动化指南:如何用快速解放你的双手【免费下载链接】RPA- for doing RPA项目地址:一款基于机器人流程自动化工具包的RPA, 能借助简单几行代码, 实现网页、桌面应用, 以及命令行操作的自动化。不管你是编程新手, 还是经验丰富的开发者,这个免费开…

📰

Apache Doris数据接口:Stream Load五分钟跑通与多语言集成

Apache Doris数据接口:Stream Load五分钟跑通与多语言集成 【免费下载链接】doris Apache Doris is a real-time analytics and hybrid search database for AI agents. 项目地址: https://gitcode.com/GitHub_Trending/doris/doris Apache Doris 把数据导入…

📰

Transformers 中的 CPM 中文预训练语言模型:GPT-2 架构与 Jieba-RS + SentencePiece 分词器解析

Transformers 中的 CPM 中文预训练语言模型:GPT-2 架构与 Jieba-RS SentencePiece 分词器解析 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio,…

📰

Umi-OCR:免费开源的离线OCR软件,截图、批量图片与PDF一键文字识别

Umi-OCR:免费开源的离线OCR软件,截图、批量图片与PDF一键文字识别 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生…

📰

电动车租赁会员管理系统:C#三层架构设计与实现

简介:这是一份可直接运行的电动车租赁会员管理系统项目包,基于C#开发,适合高校计算机相关专业用于毕业设计、课程设计或初期项目演示,也适合编程学习者参考完整业务实现。压缩包共381个文件,大小52.61MB,核…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬