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++桥接模式,中介者模式应用实现状态跳转
上图为例,按上述两种方式实现的模式跳转,如果在原先的三种模式之间再增加多一种模式,就会引起每个模式都会要求改变,并且逻辑混乱,因此更改模式为桥接中介者访问,将抽象和实现分离,实现之间采用…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
