添加、修改和删除字典元素

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

由于字典是可变序列,所以可以随时在字典中添加“键-值对”。向字典中添加元素的语法格式如下:

dictionary[key] = value

参数说明:

l   dictionary:表示字典名称。

l   key:表示要添加元素的键,必须是唯一的,并且不可变,例如可以是字符串、数字或者元组。

l   value:表示元素的值,可以是任何数据类型,不是必须唯一的。

例如,还以保存4位美女星座的场景为例,在创建的字典中添加一个元素,并显示添加后的字典,代码如下:

dictionary =dict((('绮梦', '水瓶座'),('冷伊一','射手座'), ('香凝','双鱼座'), ('黛兰','双子座'))) 

dictionary["碧琦"] = "巨蟹座"       # 添加一个元素

print(dictionary)

执行结果如下:

{'绮梦': '水瓶座', '冷伊一': '射手座', '香凝': '双鱼座', '黛兰': '双子座', '碧琦': '巨蟹座'}

从上面的结果中可以看到,字典中又添加了一个键为“碧琦”的元素。

由于在字典中,“键”必须是唯一的,如果新添加元素的“键”与已经存在的“键”重复,那么将使用新的“值”替换原来该“键”的值,这也相当于修改字典的元素。例如,再添加一个“键”为“香凝”的元素,设置她的星座为“天蝎座”。可以使用下面的代码:

dictionary =dict((('绮梦', '水瓶座'),('冷伊一','射手座'), ('香凝','双鱼座'), ('黛兰','双子座'))) 

dictionary["香凝"] = "天蝎座"       # 添加一个元素,当元素存在时,则相当于修改功能

print(dictionary)

执行结果如下:

{'绮梦': '水瓶座', '冷伊一': '射手座', '香凝': '天蝎座', '黛兰': '双子座'}

从上面的结果可以看到,字典中并没有添加一个新的“键”―“香凝”,而是直接对“香凝”进行了修改。

当字典中的某一个元素不需要时,可以使用del命令将其删除。例如,要删除字典dictionary中的键为“香凝”的元素,可以使用下面的代码:

dictionary =dict((('绮梦', '水瓶座'),('冷伊一','射手座'), ('香凝','双鱼座'), ('黛兰','双子座')))

del dictionary["香凝"]            # 删除一个元素

print(dictionary)

执行结果如下:

{'绮梦': '水瓶座', '冷伊一': '射手座', '黛兰': '双子座'}

从上面的执行结果中可以看到,在字典dictionary中只剩下3个元素了。

注意:当删除一个不存在的键时,将抛出如图27所示的异常。

图27  删除一个不存在的键时抛出的异常

因此,为防止删除不存在的元素时抛出异常,可将上面的代码修改成如下内容:

dictionary =dict((('绮梦', '水瓶座'),('冷伊一','射手座'), ('香凝','双鱼座'), ('黛兰','双子座')))

if "香凝1" in dictionary:                        # 如果存在

    del dictionary["香凝1"]                     # 删除一个元素

print(dictionary)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/650995.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

为什么短剧突然爆火?背后究竟谁在为流量买单?

为什么短剧突然爆火?背后究竟谁在为流量买单? 文丨微三云营销总监胡佳东,点击上方“关注”,为你分享市场商业模式电商干货。 - 今年很多朋友交流的更多的商业热门话题就是“短剧”,目前我国拥有超10亿的短视频用户&a…

Android:将时间戳转换为本地时间格式

一、效果图 图1,中国的时间格式 图2,美国的时间格式 二、StringUtil.kt代码 import java.text.DateFormat import java.text.SimpleDateFormat import java.util.* object StringUtil {fun formatTimestamp(currentTime: Long): String {var sdf Si…

【吊打面试官系列】Java高并发篇 - 什么是乐观锁和悲观锁?

大家好,我是锋哥。今天分享关于 【什么是乐观锁和悲观锁?】面试题,希望对大家有帮助; 什么是乐观锁和悲观锁? 1、乐观锁: 就像它的名字一样,对于并发间操作产生的线程安全问题持乐观状态, 乐观锁认为竞争…

在没有足够测试数据的请情况下,如何验证前端页面的分页展示和渲染情况

问题描述:测试过程中,为了验证前端页面的展示效果及分页组件的展示情况,测试人员一般都会选择在数据库造数据,但遇到表格管理逻辑特别复杂的情况,可能会耗费大量的时间,此时我们可以选择使用工具模拟返回值…

【quarkus系列】构建可执行文件native image

目录 序言为什么选择 Quarkus Native Image?性能优势便捷的云原生部署 搭建项目构建可执行文件方式一:配置GraalVM方式二:容器运行错误示例构建过程分析 创建docker镜像基于可执行文件命令式构建基于dockerfile构建方式一:构建mic…

Geometry-Aware Attenuation Field Learning for Sparse-View CBCT Reconstruction

摘要: 锥形束CT(Cone Beam Computed Tomography,CBCT)是目前口腔医学中应用最广泛的一种成像方法,要重建一幅高质量的CBCT图像,需要进行数百次的X线投影(即,衰减场)在传…

三分钟“手撕”顺序表与ArrayList

前言: 实现顺序表的代码放开头,供大家更好的查阅,每个方法都有代码的实现。 其次我会讲解Java自带的ArrayList的实例,扩容机制ArrayList使用方法,遍历以及它的优缺点。 目录 一、自己实现的顺序表 二、Java的ArrayLi…

基于Pytorch框架的深度学习ShufflenetV2神经网络十七种猴子动物识别分类系统源码

第一步:准备数据 17种猴子动物数据: self.class_indict ["白头卷尾猴", "弥猴", "山魈", "松鼠猴", "叶猴", "银色绒猴", "印度乌叶猴", "疣猴", "侏绒"…

Delphi 开发Android Service四种模式初探

前言: 本篇文章正经来说,其实算是我的学习履历,是我在不断的摸索过程中,总结的经验,不能算是一篇正经的学术文章。现在DELPHI的学习资料太少了,就算是有也都是基于老版本DELPHI,或VCL相关的内容…

AI芯片软件定义硬件架构

软件定义硬件架构 AI 应用正促使芯片制造商和 OEM 重新审视重新配置硬件的可能性。 摩尔定律放缓,软件应用复杂性和规模激增,x86架构CPU运行通用软件的传统方法已无法满足嵌入式和AI应用的高效需求。 在当前x86架构主导的环境中,软硬件间差…

三丰云免费虚拟主机和免费云服务器评测

三丰云是一家专业的云服务提供商,为用户提供免费虚拟主机和免费云服务器服务。通过对三丰云的使用体验,我对他们的服务进行了评测。首先,三丰云的免费虚拟主机性能稳定,网站加载速度快,给用户提供了良好的访问体验。其…

R可视化:另类的箱线图

介绍 方格状态的箱线图 加载R包 knitr::opts_chunk$set(echo TRUE, message FALSE, warning FALSE) library(patternplot) library(png) library(ggplot2) library(gridExtra)rm(list ls()) options(stringsAsFactors F)导入数据 data <- read.csv(system.file(&qu…

数据集005:螺丝螺母目标检测数据集(含数据集下载链接)

数据集简介 背景干净的目标检测数据集。 里面仅仅包含螺丝和螺母两种类别的目标&#xff0c;背景为干净的培养皿。图片数量约420张&#xff0c;train.txt 文件描述每个图片中的目标&#xff0c;label_list 文件描述类别 另附一个验证集合&#xff0c;有10张图片&#xff0c;e…

力扣503. 下一个更大元素 II

Problem: 503. 下一个更大元素 II 文章目录 题目描述思路复杂度Code 题目描述 思路 由于此题是环形数组&#xff0c;我们在利用单调栈模板的基础上还需要将给定数组扩大一倍&#xff0c;但实际上我们只需要利用取余的操作模拟扩大数组即可&#xff08;具体操作看代码。在解决有…

800HZ电源-高频电源行业的明星

一、800Hz电源的简介&#xff1a; 800Hz电源&#xff0c;顾名思义&#xff0c;是一种专为满足通信系统中特定频率要求而设计的电源。通常&#xff0c;800Hz电源具有极高的稳定性和精确度&#xff0c;能提供稳定的电压输出&#xff0c;确保通信设备如交换机、基站、无线路由器等…

【设计模式】JAVA Design Patterns——Commander(指挥官模式)

&#x1f50d;目的 用于处理执行分布式事务时可能遇到的所有问题。 &#x1f50d;解释 处理分布式事务很棘手&#xff0c;但如果我们不仔细处理&#xff0c;可能会带来不想要的后果。假设我们有一个电子商务网站&#xff0c;它有一个支付微服务和一个运输微服务。如果当前运输…

香橙派Kunpeng Pro测评:他给的实在太多了

文章目录 一、开箱环节1、包装配置2、开发板包装3、开发板3.1、开发版正面3.2、开发板背面 二、硬件配置1、硬件配置清单 2、配置图解 三、开机~启动&#xff01;1、运行系统1.1、外设配置1.2、系统启动1.3、官方教程 2、openEuler系统概览 四、系统测试1、性能测试1.1、安装sy…

如何基于springboot构建cas最新版源码?

环境准备 下载JDK21 https://download.oracle.com/java/21/archive/jdk-21.0.2_windows-x64_bin.zip下载gradle 8.5并配置环境变量 https://gradle.org/next-steps/?version8.5&formatbin下载项目git clone http://gitlab.ruishan.cc/meta/anka-authentication.git 开始…

UI问题 --- CardView和其它的控件在同一布局中时,始终覆盖其它控件

原本代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"40dp"android:layout_height"wrap_content"andr…

for循环绑定id,更新html页面的文字内容

需求&#xff1a;将方法中内容对齐 实现方式 给for循环中每个方法添加一个动态的id在DOM结果渲染完后&#xff0c;更新页面数据&#xff0c;否则会报错&#xff0c;找不到对应节点或对应节点为空 <view v-for"(item, index) in itemList" :key"index"…