Python数据容器——字典的常用操作(增、删、改、查)
作者:Insist--
个人主页:insist--个人主页
本文专栏:Python专栏
专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注.
目录
一、理解字典
1. Python字典是什么?
2. 字典的特点
二、字典的常用操作
1. 创建字典
2. 添加元素
3. 删除元素
4. 修改元素
5. 查找元素
前言
本文将讲解Python数据容器中的字典。其中包括字典是什么,它的特点以及常用操作(增、删、改、查等操作)。

一、理解字典
1. Python字典是什么?
Python中的字典是一种非常常用的数据容器,它用于存储键值对(key:value)。每个键在字典中都是唯一的,并且与一个值相关联。字典可存储任意类型对象,如字符串,数字,元组等等。
注意:字典是无序的,所以不支持“索引”和“切片”。
2. 字典的特点
- 可存储多个数据并且可以存储多种类型
- 数据以键值对存储
- 键值对中的key不可重复
- 可以修改并且只支持for循环
二、字典的常用操作
下面会给大家讲解一些Python中字典的一些常见操作,使用这些操作可以有效地对字典进行增、删、改、查等操作。
1. 创建字典
在Python中,定义一个字典可以使用大括号“{}”进行定义,每个键值对之间使用逗号隔开,键和值使用冒号分隔。键必须是不可变类型(例如:字符串,数字),值可以是任意数据类型。如下代码,演示了如何创建字典和空字典。
# 使用大括号创建字典
dict1 = {'a': 1, 'b': 2, 'c': 3}
# 创建一个空字典
dict2 = {} # 方法一
dict3 = dict() # 方法二
2. 添加元素
通常使用键值对的形式,以赋值操作添加元素到字典中。如下代码,我们将键值对 “张三:22”,添加到字典 dict1 中:
# 使用大括号创建字典dict1 = {'a': 1, 'b': 2, 'c': 3}# 创建一个空字典dict2 = {} # 方法一
dict3 = dict() # 方法二# 添加键值对 '张三': 22dict1['张三'] = 22# 打印出来print(dict1)
输出结果:如下图,可以看到我们已经将键值对 “张三:22”成功的添加到字典 dict1 中。

3. 删除元素
在Python中,我们有两种方法删除元素,如下代码,我们分别使用def关键字和pop()方法删除元素a,b。
第一种:使用del关键字删除指定键的元素。
第二种:使用pop()方法删除指定键的元素。
# 使用大括号创建字典dict1 = {'a': 1, 'b': 2, 'c': 3}# 创建一个空字典dict2 = {} # 方法一
dict3 = dict() # 方法二# 删除键值对 'a': 1del dict1['a']# 删除键值对 'b': 2dict1.pop('b')print(dict1)
输出结果:如下图,已经成功删除。

4. 修改元素
在Python中,我们有两种方法删除元素,如下代码,我们分别使用这两种方法来修改元素。
第一种:通过键来修改值
第二种:使用update()方法修改键值对(可同时修改多个键值对)。
# 使用大括号创建字典dict1 = {'a': 1, 'b': 2, 'c': 3}# 创建一个空字典dict2 = {} # 方法一
dict3 = dict() # 方法二# 通过键修改值dict1['a'] = 666# 使用update()方法同时修改多个键值对dict1.update(b=9, c=8)print(dict1)
输出结果:如下图可以看到我们已经成功修改元素。

5. 查找元素
在Python中,查找元素可以分为三种。如下代码,给大家演示了这三种方式
第一种:使用键来查找字典中的值。
第二种:使用values()方法查找所有值。
第三种:使用items()方法查找所有键值对。
# 使用大括号创建字典dict1 = {'a': 1, 'b': 2, 'c': 3}# 创建一个空字典dict2 = {} # 方法一
dict3 = dict() # 方法二# 使用键查找值value = dict1['c']print(f"使用键查找值:{value}")# 查找所有值values = dict1.values()print(f"查找所有值:{values}")# 查找所有键值对items = dict1.items()print(f"查找所有键值对:{items}")
输出结果:如彩图,我们已经成功正确的找到了对应的值。

相关文章:
Python数据容器——字典的常用操作(增、删、改、查)
作者:Insist-- 个人主页:insist--个人主页 本文专栏:Python专栏 专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注. 目录 一、理解字典 1. Python字典是什么? 2. 字…...
JavaScript入门——(5)函数
1、为什么需要函数 函数:function,是被设计为执行特定任务的代码块 说明:函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,有利于精简代码方便复用。 比如之前使用的ale…...
数据库sql查询成绩第二高
select * from propro; #查询成绩第二高 select max(id) from propro where id <(select max(id) from propro); #查询成绩第二高的第二种方式 select * from (select * from propro order by id desc limit 2) as b order by id asc limit 1;...
十五、异常(5)
本章概要 异常限制构造器 异常限制 当覆盖方法的时候,只能抛出在基类方法的异常说明里列出的那些异常。这个限制很有用,因为这意味着与基类一起工作的代码,也能和导出类一起正常工作(这是面向对象的基本概念)&#…...
途虎养车上市、京东养车“震虎”,如何突围汽车后市场?
“汽车后市场第一股”终于来了! 赶在十一黄金周之前,途虎养车股份有限公司(09690.HK,下称“途虎养车”)于9月26日挂牌港交所,开盘价为28港元/股,与发行价持平;IPO首日报收29.50港元/股,涨幅5.3…...
【算法与数据结构】--算法基础--算法入门
一、什么是算法? 算法是一组有序的操作步骤,用于解决特定问题或执行特定任务。它是一种精确而有限的计算过程,以输入数据作为起点,经过一系列明确定义的步骤,最终产生输出结果。算法可以看作是一种计算机程序的抽象&a…...
AnyDesk密钥
最近最新的密钥:7K2CV32ER6T8F8I 这款软件应该是目前用的最好的可以免费的软件了,记录一下密钥...
C#(Csharp)我的基础教程(二)(我的菜鸟教程笔记)-属性和字段的探究与学习
目录 1、字段字段特点:2、属性属性的特点 1、字段 字段是定义在方法外面的变量,是成员变量,主要是为了类的内部数据交换使用,字段一般是用private修饰,也可以用readonly修饰,表示只读字段,其它…...
Programming abstractions in C阅读笔记:p176-p178
《Programming Abstractions In C》学习第59天,p176-p178总结。 一、技术总结 1.addtive sequences tn tn-1 tn-2 序列:3, 7, 10, 17, 27, 44, 71, 115, 186, 301, 487, 788, 1275, … p177, As a general class, the sequences that follow this…...
LeetCode-496-下一个更大元素
题目描述: 题目链接:LeetCode-496-下一个更大元素 解题思路: 方法一:暴力 方法二:单调栈 方法一代码实现: class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {// 最笨的方法&am…...
C++中的Lambda表达式
一、为什么要有lambda表达式 struct Goods {string _name; // 名字double _price; // 价格int _evaluate; // 评价Goods(const char* str, double price, int evaluate):_name(str), _price(price), _evaluate(evaluate){} }; 对于一个Goods类,需要对其中3个成员分…...
dockerfile搭建lnmp
systemctl stop firewalld systemctl disable firewalld setenforce 0 docker network create --subnet172.18.0.0/16 --opt "com.docker.network.bridge.name""docker1" mynetwork #部署nginx(容器IP 为 172.18.0.10) mkdir /…...
python之数据库操作详解
一般来说,我们对数据库里的操作需要先连接,创建游标对象,然后通过游标对象执行SQL语句去对SQL的数据进行操作,本篇文章旨在记录与科普。 1.cursor相关 元组是不可变的数据类型,只能查询,不能修改…...
完成flex布局与float布局
一、flex布局 <style>.nav {display: flex;background-color: #f8f8f8; /* 导航栏背景颜色 */}.nav a {flex: 1;display: flex;align-items: center;justify-content: center;padding: 14px 16px;text-decoration: none;color: #555555; /* 导航栏文字颜色 */}.nav a:ho…...
ThinkPHP团购拼购商城源码/带分销团购商城网站源码/完美版
ThinkPHP团购拼购商城源码,带分销团购商城网站源码,很完美的一套基于ThinkPHP开发的团购分销商城源码,界面也很大气,站长亲测。有需要的可以借鉴一下。 下载地址:https://bbs.csdn.net/topics/613231434...
awvs 中低危漏洞
低危 X-Frame-Options Header未配置 查看请求头中是否存在X-Frame-Options Header字段 会话Cookie中缺少secure属性(未设置安全标志的Cookie) 当cookie设置为Secure标志时,它指示浏览器只能通过安全SSL/TLS通道访问cookie。 未设置HttpOnly标志的Cookie 当cookie设置…...
openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw
文章目录 openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw95.1 使用postgres_fdw95.2 postgres_fdw下推主要成分95.3 常见问题95.4 注意事项 openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw openGauss的fdw实现的功能是各个…...
并不止于表面理论和简单示例——《Python数据科学项目实战》
Python 现在可以说是运用最广泛的编程语言之一,使用 Python 的人不只局限在计算机相关专业的从业者,很多来自金融领域、医疗领域以及其他我们无法想象的领域的人,每天都在使用 Python处理各种数据、使用机器学习进行预测以及完成各种有趣的工作。 长久以来ÿ…...
skywalking功能介绍
目标 前置:性能监控-微服务链路追踪skywalking搭建-CSDN博客 使用skywalking进行链路监控,找到应用的时间消耗再哪。 服务 服务信息 请求接口后查看skywalking,可以看到有一个请求,响应时间为1852ms,性能指数Apdex…...
c++桥接模式,中介者模式应用实现状态跳转
上图为例,按上述两种方式实现的模式跳转,如果在原先的三种模式之间再增加多一种模式,就会引起每个模式都会要求改变,并且逻辑混乱,因此更改模式为桥接中介者访问,将抽象和实现分离,实现之间采用…...
基于语义检索的LLM工具发现框架:从原理到工程实践
1. 项目概述与核心价值最近在折腾AI应用开发,特别是想把手头的几个大语言模型(LLM)能力整合到自己的工具链里,发现一个挺头疼的问题:模型本身很强大,但让它去精准调用外部工具(比如查数据库、发…...
BaklavaJS执行引擎详解:实现节点图的拓扑排序与数据流计算 [特殊字符]
BaklavaJS执行引擎详解:实现节点图的拓扑排序与数据流计算 🚀 【免费下载链接】baklavajs Graph / node editor in the browser using VueJS 项目地址: https://gitcode.com/gh_mirrors/ba/baklavajs BaklavaJS是一个基于VueJS的强大浏览器图形节…...
告别浏览器卡顿:如何用Play-with-MPV解锁网页视频专业播放体验
告别浏览器卡顿:如何用Play-with-MPV解锁网页视频专业播放体验 【免费下载链接】play-with-mpv Chrome extension that allows you to play videos in webpages like youtube with MPV instead 项目地址: https://gitcode.com/gh_mirrors/pla/play-with-mpv …...
保姆级教程:在Ubuntu 20.04上为ARM开发板(如RK3399)交叉编译Mesa图形库(含完整配置与库路径修复)
ARM开发板图形加速实战:RK3399平台Mesa交叉编译与深度优化指南 在嵌入式系统开发中,图形处理能力往往成为决定用户体验的关键因素。RK3399这类高性能ARM开发板搭载的Mali-T860 GPU,理论上能够提供出色的图形渲染性能,但要将这种潜…...
LSTM时间序列预测实战:从数据预处理到模型调优全解析
1. 项目概述:当时间序列遇上LSTM在数据分析与预测的领域里,时间序列预测一直是个既经典又充满挑战的课题。无论是金融市场的股价波动、电商平台的销量起伏,还是工业设备的传感器读数、城市交通的流量变化,这些按时间顺序排列的数据…...
手机拍照鬼影是算法背锅?聊聊Sensor DOL-HDR技术如何从源头减少融合断层
手机HDR成像鬼影溯源:从DOL-HDR硬件机制到ISP融合调优实战 在手机摄影技术快速迭代的今天,高动态范围(HDR)成像已成为旗舰机型的标配功能。然而,当算法工程师面对合成图像中的鬼影伪影和亮度断层时,往往陷入…...
AI代码库合规审计完整指南:5步自动化审查流程揭秘
AI代码库合规审计完整指南:5步自动化审查流程揭秘 【免费下载链接】Tutorial-Codebase-Knowledge Pocket Flow: Codebase to Tutorial 项目地址: https://gitcode.com/gh_mirrors/tu/Tutorial-Codebase-Knowledge 在当今快速发展的软件开发环境中,…...
Vivado跨SLR时钟路径优化指南:从ERROR: [Place 30-681]理解BUFG与全局时钟网络
Vivado跨SLR时钟路径优化实战:从架构原理到约束策略 在UltraScale这类多SLR架构的FPGA设计中,时钟网络规划往往是决定项目成败的关键因素。当你在Vivado中看到ERROR: [Place 30-681]这类与跨SLR时钟路径相关的报错时,表面上看是工具在抱怨布局…...
OpencvSharp 算子学习教案之 - Cv2.Accumulate
OpencvSharp 算子学习教案之 - Cv2.Accumulate 大家好,Opencv在很多工程项目中都会用到,而OpencvSharp则是以C#开发与实现的Opencv操作库,对.NET开发人员友好,但很多API的中文资料、应用场景及常见坑点等缺乏系统性归纳ÿ…...
Godot 4动态网格切割:实现实时物理破坏效果
1. 项目概述与核心价值 最近在Godot社区里,一个名为 cloudofoz/godot-smashthemesh 的开源项目引起了我的注意。乍一看这个标题,可能会觉得有些抽象——“粉碎网格”?但当你深入了解后,会发现它精准地解决了一个在3D游戏开发&am…...
