python字典及基础操作
1) 字典是没有顺序的,是任意对象的无序集合。
2) 字典的键是唯一的,不能多次出现,多次出现时取最后一个值。
3) 键是不可变的。
4) 字典中的元素可增删。
5) 因为没有顺序,所以不存在索引。
1. 字典元素的访问
>>> my_dict = {1001:'李华',1002:'张三',1003:'小雪',1004:'小张',1005:'小明'}
>>> my_dict[1001]#访问键为1001的值
'李华'
>>> my_dict[1005]#访问键为1005的值
'小明'
>>> my_dict[1006]#访问键为1006的值,此时字典里没有1006,故报错。
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 1006
2. 判断字典中的值是否存在 in not in
>>> my_dict = {1001:'李华',1002:'张三',1003:'小雪',1004:'小张',1005:'小明'}
>>> if 1001 in my_dict:#如果my_dict中存在1001这个键就执行下面语句print(my_dict[1001])
>>> 李华
>>> my_dict = {1001:'李华',1002:'张三',1003:'小雪',1004:'小张',1005:'小明'}
>>> if 1006 not in my_dict:#如果my_dict中吧存在1006这个键就执行下语句print('不存在1006这个键')
>>> 不存在1006这个键
3. 添加元素
my_dict[‘newkey’] = ‘newvalue’
>>> my_dict = {1001:'李华',1002:'张三',1003:'小雪',1004:'小张',1005:'小明'}
>>> my_dict [1006] = '小李'#增加键1006,对应值‘小李’
>>> my_dict{1001: '李华', 1002: '张三', 1003: '小雪', 1004: '小张', 1005: '小明', 1006
: '小李'}
4. 删除元素
del my_list[’key’]>>> my_dict{1001: '李华', 1002: '张三', 1003: '小雪', 1004: '小张', 1005: '小明', 1006
: '小李'}
>>> del my_dict[1001]#删除键为1001的一组元素
>>> del my_dict[1002]#删除键为1002的一组元素
>>> my_dict{1003: '小雪', 1004: '小张', 1005: '小明', 1006: '小李'}
5. 修改元素
my_dict[‘key’] = ‘newvalue’
>>> my_dict
{1003: '小雪', 1004: '小张', 1005: '小明', 1006: '小李'}
>>> my_dict[1003] = '小天'#把键1003的值修改为‘小天’
>>> my_dict
{1003: '小天', 1004: '小张', 1005: '小明', 1006: '小李'}
6. clear()方法
使用clear()方法会清空字典中的所有元素。
my_dict.clear()
>>> my_dict{1003: '小天', 1004: '小张', 1005: '小明', 1006: '小李'}
>>> my_dict.clear()#使用clear()方法进行清空操作
>>> my_dict{}
7. get()方法
我们在获取键对应的值的时候,使用get()方法可以避免因未找到相应目标而引发异常的情况。
my.dict.get(key,default)>>> my_dict = {1001:'小张',1002:'小华'}
>>> my_dict.get(1001)#找到key1001对应值
'小张'
>>> my_dict.get(1002)#找到key1002对应值
'小华'
>>> my_dict.get(1003,'not found')#找到key1003对应值,如果找不到就输出'not found'
'not found'
8. items()方法
items方法返回字典中成对的键和值,返回的是一种名叫字典视图的特殊序列,其中每个元素都是一个元组。 items方法访问的是整组整组的元素,我们在循环操作的时候会进一步使用这种方法。
my_dict.items()>>> my_dict
{1001: '小张', 1002: '小华'}
>>> my_dict.items()
dict_items([(1001, '小张'), (1002, '小华')])
9. keys()方法
它的使用方式和items使用方法类似,keys返回字典中的键。
my_dict.keys()>>> my_dict
{1001: '小张', 1002: '小华'}
>>> my_dict.keys()
dict_keys([1001, 1002])
10. values()方法
vlaues()返回字典中的所有值。
>>> my_dict
{1001: '小张', 1002: '小华'}
>>> my_dict.values()
dict_values(['小张', '小华'])
11. pop()方法
pop()方法会删除指定的键,并返回其值,如果没有找到相应键可输出默认值。
>>> my_dict = {1001:'小华',1002:'小张',1003:'小美'}
>>> my_dict.pop(1001)#删除键为1001的这一项
'小华'
>>> my_dict#此时字典里已经没有键为1001这一项
{1002: '小张', 1003: '小美'}
>>> my_dict.pop(1004,'no found')#删除键为1004这一项,如果找不到返回'no found'
'no found'
12、遍历字典
Python字典的for循环遍历
1)遍历key的值
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
for key in scores_dict:
print(key)语文
数学
英语
2)遍历value的值
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
for value in scores_dict.values():print(value)105
140
120
3) 遍历字典键值对
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
for key in scores_dict:
print(key + ":" + str(scores_dict[key])) # 返回字符串
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
for i in scores_dict.items():
print(i) # 返回元组
相关文章:
python字典及基础操作
1) 字典是没有顺序的,是任意对象的无序集合。 2) 字典的键是唯一的,不能多次出现,多次出现时取最后一个值。 3) 键是不可变的。 4) 字典中的元素可增删。 5) 因为没有顺序,所以不存在索引。 1. 字典元素的访问 >>> …...

Windows Server 2008 R2安装onlyoffice【docker】
目录 前言 准备工作 安装docker 安装onlyoffice 常见问题 前言 目前docker for windows只能在windows10/11上安装,其他的windows版本只能使用Docker Toolbox来安装,使用该工具安装的docker其实是借助了Oracle VM VirtualBox虚拟机来运行的&a…...

JVM学习笔记六:运行时数据区之堆
目录 概述 堆空间内部结构 JDK7版本 JDK8版本 堆空间的内存划分 堆空间大小设置参数 概述 Java堆是虚拟机所管理的内存中最大的一块,其在JVM启动时即被创建,并且空间大小也被确定(这里是不考虑Java8之后以本地内存来实现的元空间&…...

usb闪存驱动器数据恢复该怎么进行?3个方法总结
“怎么办?我的USB驱动器不知道因为什么原因,里面的数据、文件都消失了。有没有什么方法在没有进行备份的情况下恢复从U盘丢失的数据?” USB驱动器作为最常用的存储移动设备,里面保存着各种文件数据。但是有时会出现损坏而导致数据…...

DAX 微信 markdown 编辑器
DAX 微信 markdown 编辑器 一、致谢 感谢开源项目: md wechat-format 感谢 WordPress 插件 Mine云点播 作者 mine27 的指导。 二、如何使用 打开如下地址,直接编辑,可以实时看到符合微信公众号排版的效果。 推荐访问:https://j…...
湖南中创教育为学员提供方便快速的退费服务
2006年,湖南中创教育科技有限公司创始人团队开始创业进入职业教育行业;2014年公司正式成立,组建专业团队并转型升级“互联网”,进入在线教育行业。 自主研发“中创网校”学习平台,为学员提供了集直播、视频回放复习、…...

Java 给视频添加背景音乐 | Java工具
目录 前言 Maven依赖 环境依赖 代码 总结 前言 本文提供给视频添加背景音乐的java工具,一如既往的实用主义。 Maven依赖 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.1.1…...

【JUC2022】第二章 多线程锁
【JUC2022】第二章 多线程锁 文章目录【JUC2022】第二章 多线程锁一、乐观锁与悲观锁1.悲观锁2.乐观锁二、八锁案例1.标准情况,有a、b两个线程,请问先打印邮件还是短信【结果:邮件】2.sendEmail方法中加入暂停3秒钟,请问先打印邮件…...

快学会这个技能-.NET API拦截技法
大家好,我是沙漠尽头的狼。 本文先抛出以下问题,请在文中寻找答案,可在评论区回答: 什么是API拦截?一个方法被很多地方调用,怎么在不修改这个方法源码情况下,记录这个方法调用的前后时间&…...

stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
文章目录一、uart_init(串口初始化)二、USART1_IRQHandler(串口1中断服务程序)三、main.c(主函数)四、关于printf的支持一、uart_init(串口初始化) 就是根据上一篇的一样的步骤&…...
Hystrix资源隔离
目录资源隔离使用资源隔离的好处基于Hystrix实现微服务中资源隔离基于Hystrix线程池隔离实现资源隔离利用 HystrixCommand 获取单条数据利用 HystrixObservableCommand 批量获取数据基于 Hystrix 信号量机制实现资源隔离资源隔离 资源隔离是什么? 资源隔离是指把对…...

字符串(一)-- LeetCode[3] 无重复字符的最长子串
1 无重复字符的最长子串 1.1 题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释…...

Qt中修改界面类的类名时需要注意的几个修改点
有些时候因为一些原因,需要修改Qt中创建的界面类,需要特别注意几个修改点。 比如将test类修改为test2类 修改test.h名称为test2.h文件;修改test.cpp名称为test2.cpp文件;修改test.ui名称为test2.ui文件;修改pro文件中…...

【Spring6】| Spring启示录、Spring概述
目录 一:Spring启示录 1. OCP开闭原则 2. 依赖倒置原则DIP 3. 控制反转IoC 二:Spring概述 1. Spring简介 2. Spring8大模块 3. Spring特点 一:Spring启示录 引言:前面我们已经学习了三层架构:表示层、业务层、…...

react源码中的fiber架构
先看一下FiberNode在源码中的样子 FiberNode // packages/react-reconciler/src/ReactFiber.old.js function FiberNode(tag: WorkTag, pendingProps: mixed, key: null | string, mode: TypeOfMode, ) {// Instancethis.tag tag;this.key key;this.elementType null;t…...

C++类和对象-继承多态
继承 继承是面向对象三大特性之一 定义类时,下级别的成员除了拥有上一级的共性,还有自己的特性,就可以考虑使用继承的技术,减少代码的重复 继承的基本语法 语法:class 子类 : 继承方式 父类 子类也被成为派生类父类…...

appium自动化测试
获取应用包名和入口activity:aapt命令 aapt目录: 安卓sdk的build-tools目录下(如果要在cmd里直接运行,要配置环境变量,否则需要在aapt所在目录下打开cmd) 示例: adt-bundle-windows-x86_64-20140702\sdk\build-too…...

打印流、转换流、数据流 、随机访问流
Java知识点总结:想看的可以从这里进入 目录5、打印流6、转换流7、数据流8、随机访问流5、打印流 实现将基本数据类型的数据格式转化为字符串输出,它们提供了一系列重载的print()和println()方法,用于多种数据类型的输出,这种流不会…...
Java的4种访问权限?
1、public: 所修饰的类、变量、方法,在内外包均具有访问权限;2、protected: 这种权限是为继承而设计的,protected所修饰的成员,对所有子类是可访问的,但只对同包的类是可访问的,对外…...

APP任务模块功能借助php-resque实现业务解耦
先上设计图 说明:任务模块分一次性任务和每日任务,可能还包括男女用户任务区分 处理步骤: 一、同步任务数据库 1.1、任务列表数据库 1.2、完成任务数据库 二、搭建即时消息队列 一、composer require resque/php-resque二、因为服务器red…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...