python基础教程五(字典概念和基本操作)
需要将一些列值组合成数据结构并通过编号来访问各个值时,列表很有用。本章介绍一种通过名称来访问各个值的数据结构。这种数据结构称为映射。字典是python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下。键可能是数,字符串,元组(不可改变的)
字典的名称指出了其用途,图书适合从头到尾的顺序阅读如果你愿意可快速翻到任何一页,这有点像列表。字典(日常生活中的字典和python字典)旨在让你能够轻松找到特定的单词(键),以获悉其定义(值)。
创建和使用字典
字典以类似下面的表示:
phone={‘alice’:‘2132’,‘beth’:9102}
字典由其键和相应的值组成,这种键-值对 称为项,在上面的示例中,键为名字,值为电话号码,每个键和值之间用:分隔,项之间用逗号分隔,而整个字典放在括号内。空字典用俩个花括号来表示类似于{}.
我们介绍的每一种数据结构都有一个函数将其他的数据结构变为对应数据结构的形式,例如列表的 list函数,元组的tuple函数,字符串的str,那字典呢也有就是dict
1. 函数dict
>>> items=[('1','2'),('3','4')]
>>> d=dict(items)
>>> d
{'1': '2', '3': '4'}
>>>d['1']
'2'
还可以使用关键字实参来调用这个函数,如下所示:
>>> a=dict(name=234,age=125)
>>>> a
>{'name': 234, 'age': 125}
尽管这可能是函数dict最常见的用法,但也可以用映射实参来调用它,这将创建一个字典。像list,tuple,str一样,如果调用这个函数时没有提供任何实参,将返回一个空字典。
2. 基本的字典操作
字典的基本行为在很多方面都类似于序列
1. len(d):返回字典d包含的项(键值对)数。
2. d[k]:返回与键k相关联的值。
3. d[k]=v:将值V关联到键k
4. del d[k]:删除键为k的项
1. k in d: 检查字典d是否有包含k的项
虽然字典和列表有多个相同之处,但也有一些重要的不同之处。
键
键的类型:字典中的键可以是整数,但并非必须是整数。字典中的键可以是任何不可变的类型,如浮点数(实数),字符串或元组
自动添加:即便是字典中原本没有的键,也可以给它赋值,这将在字典中创建一个新项。
成员资格:表达式 k ind (其中d 是一个字典)*查找的是键而不是值。
具体和列表差别看下面例子
>>> x=[]
>>>> x[42]='foo'
>Traceback (most recent call last):File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>> x={}
>>> x[43]='foo'
>>> x
{43: 'foo'}
首先,我尝试将字符串’foo’给一个空列表中索引为42的元素。这显然不可能,因为没有这样的元素。要让这个操作可行,初始化x时,必须使用[none]*43之类的代码,创建一个有那么多元素的列表,接下来的尝试可行
我们将’foo’赋值给了一个空字典的键43。
第三章介绍过方法format,可在有些情况下,通过在字典储存一些列命名的值,可让格式设置更容易一些,例如,可在字典中包含各种信息,这样只需在格式字符串中提取所需的信息即可,为此必须使用format_map来指出你将通过一个映射来提供所需的信息。
>>> phonebook={'beth':'9102','alice':'2341','ceil':'3258'}
>>> "ceil's phone number is {ceil}".format_map(phonebook)
"ceil's phone number is 3258"
相关文章:
python基础教程五(字典概念和基本操作)
需要将一些列值组合成数据结构并通过编号来访问各个值时,列表很有用。本章介绍一种通过名称来访问各个值的数据结构。这种数据结构称为映射。字典是python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下。键可能是数,…...
【Delphi 基础知识 11】重载函数的使用
在Delphi中使用重载函数时,你可以创建多个具有相同名称但参数列表不同的函数。这样,编译器可以根据函数调用时提供的参数类型或数量来确定要调用的具体函数。以下是一个简单的重载函数的例子: unit OverloadExample;interfaceusesSysUtils;t…...
经典目标检测YOLO系列(一)YOLOV1的复现(1)总体架构
经典目标检测YOLO系列(一)实现YOLOV1网络(1)总体架构 实现原版的YOLOv1并没有多大的意义,因此,根据《YOLO目标检测》(ISBN:9787115627094)一书,在不脱离YOLOv1的大部分核心理念的前提下,重构一款较新的YOLOv1检测器,来…...
《设计模式》之策略模式
策略模式定义 比如对象的某个行为,在不同场景有不同实现方式,可以将这些行为的具体实现定义为一组策略,每个实现类实现种策略,在不同场景使用不同的实现,并且可以自由切换策略。 策略模式结构 策略模式需要一个策略…...
Django文章标签推荐
当博客文章实现了标签后,可以用它们做很多有趣的事情。关于标签的更多内容,请看 Django集成第三方标签功能-CSDN博客 使用标签,我们可以很好地对博客文章进行分类。类似主题的帖子会有几个共同的标签。下一步将构建一个功能,以显…...
Git、TortoiseGit进阶
1.安装Git、TortoiseGit和汉化包 Git官网: Git TortoiseGit和汉化包: Download – TortoiseGit – Windows Shell Interface to Git 2.常用命令 创建仓库命令 git init初始化仓库git clone拷贝一份远程仓库,也就是下载一个项目。提交与修改 git add添加文件到暂存区git…...
山区老人爱的礼物丨守护银龄,情暖寒冬
为让山区老人们在寒冷的冬天感受到来自社会的温暖,新年伊始,北京传益千里携手志愿者再次走进酉阳土家族苗族自治县木叶乡分发新的一轮山区老人爱的礼物,让更多的物资走向有需要的人群。 中午阳光正好,志愿者们走进山林中的人家&am…...
【计算机算法设计与分析】n皇后问题(C++_回溯法)
文章目录 题目描述测试样例算法原理算法实现参考资料 题目描述 在nxn格的棋盘上放置彼此不受攻击的n格皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在nxn格的棋盘上放置n个皇后,任何2个皇后不放在同…...
Calendar日历类型常见方法
Calendar日历类型常见方法: 概括:1.get( )方法2、set( ) 设置时间3、常用的add方法4、after()方法表示的时间是否在指定时间之后, before( ) 方法则之前, 返回判断结果4.1、compareTo比较器 概括: Calendar类是一个抽…...
Docker-Compose部署Redis(v7.2)主从模式
文章目录 一、前提准备1. redis配置文件2. 下载redis镜像3. 文件夹结构 二、docker-compose三、主从配置1.主节点配置文件2.从节点配置文件 四、运行五、测试 环境 docker desktop for windows 4.23.0redis 7.2 一、前提准备 1. redis配置文件 因为Redis 7.2 docker镜像里面…...
Spring国际化的应用及原理详解
1. 简介 Spring国际化(Spring Internationalization,简称i18n)是Spring框架提供的一种机制,用于支持多语言的应用程序。它使得开发者能够轻松地在应用程序中实现不同语言的支持,从而满足全球化的需求。通过Spring国际…...
Existing installation is up to date
这个报错是之前安装的docker没有删除干净 解决方法: 打开注册表编辑器 然后再搜索栏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Docker Desktop 回车 找到Docker Desktop文件夹后,右键删除 重新安装Docker…...
windows安装kafka以及kafka管理工具推荐
windows安装 1.下载地址 下载地址 下载最新版本的.tgz文件解压 2.修改配置 修改config目录下的zookeeper.properties中的dataDir属性 server.properties文件中的log.dir属性 3.启动zookeeper 进入到bin\windows\下的用cmd输入zookeeper-server-start.bat ..\..\config\zo…...
面向对象的三大特征之一多态
多态 概念 多态是同一个对象,在不同时刻表现出来不同的形态,称之为多态。 例如:水,我们把水理解成为一个对象,而水会有不同的形态,比如 液态水、冰块、水蒸气 多态的前提 有继承/实现关系(继承…...
vue3中标签form插件
想写一个系统,对八字进行标注,比如格局,有些八字就有很多格局,于是就想着使用el-tag但是,form表单中如何处理呢? 这个时候,就需要自己写一个,modelValue是表单的默认属性 <template><…...
企业数字化转型:1个核心、2种力量、3个关键点、4大转型、5大平台
引言 企业数字化转型源于当今数字化时代的巨大变革。随着科技的飞速发展和全球市场的日益竞争,企业们正面临着前所未有的挑战和机遇。这些挑战包括消费者行为的变化、新技术的涌现以及市场竞争的加剧。在这种环境下,传统的商业模式和运营方式已经不再适…...
Agilent安捷伦E4990A阻抗分析仪20Hz
Agilent安捷伦E4990A阻抗分析仪性能卓越,适用于元器件、半导体和材料测量。它具有宽广的频率范围,从20Hz到120MHz,能够适应各种不同的阻抗测量需求。在宽阻抗范围内,该仪器能够提供出色的0.045%(典型值)基本…...
性能优化-OpenMP概述(一)-宏观全面理解OpenMP
本文旨在从宏观角度来介绍OpenMP的原理、编程模型、以及在各个领域的应用、使用、希望读者能够从本文整体上了解OpenMP。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础…...
Prometheus实战篇:Prometheus监控nginx
准备环境 在此专栏的前几篇文章中已经准备了一台服务器作为我们进行环境的准备.大家也可以通过虚拟机创建俩台服务器,一台作为Prometheus的安装另外一台进行其他软件安装并且进行监控的服务器. 这里我就不赘述nginx的安装教程,相信大家都可以搜到,使用docker或者直接通过安装包…...
JVM加载class文件的原理机制
1、JVM 简介 JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从“Hello World ”开始的,然后会写个复杂点class ,然后再找一些开源框架,比如Spring ,Hibernate 等等,再然后就开发…...
如何使用CapSolver解决Web爬虫中遇到的CAPTCHA问题
Web爬取是一种强大的技术,用于从网站中提取数据,但经常会遇到一个常见障碍,即CAPTCHA。CAPTCHA是“Completely Automated Public Turing test to tell Computers and Humans Apart”的缩写,旨在防止自动机器人访问网站。然而&…...
杰发科技AC7801——IO模拟IIC注意事项
7801的参考手册没有说清楚 7840说明了用开漏 使用办法...
展台搭建与设计都有哪些思路
1、现代简约 设计理念强调简洁、线条清晰和空间布局,突出产品本身,使展台干净整洁,适合展示高科技、现代化的产品。 2、自然生态 利用植物、木材等自然元素,营造与自然和谐共处的氛围,适合健康、环保、生态产品。 3、品…...
解决mock单元测试中 无法获取实体类xxx对应的表名
错误描述:在执行单元测试时,执行到new Example时抛出异常,提示无法获取实体类xxx对应的表名 Example example new Example(ServeSubscribeRecord.class);Example.Criteria criteria example.createCriteria();criteria.andEqualTo("se…...
arm64虚拟化技术与kvm实现原理分享
文章目录 1 简介2 arm64 虚拟化相关硬件支持2.1 arm64 cpu 虚拟化基本原理及硬件支持2.2 系统寄存器捕获和虚拟寄存器支持2.3 VHE 特性支持2.4 内存虚拟化支持2.5 IO 虚拟化支持2.6 DMA 虚拟化支持2.7 中断虚拟化支持2.8 定时器虚拟化支持 3 arm64 kvm 初始化流程3.1 初始化总体…...
选择 省市区 组件数据 基于vue3 + elment-plus
h5 <el-cascader v-model"form.area" :props"{value: label,label: label }" :options"jsonData" change"handleChange" style"width: 100%;" /> script import jsonData from /utils/city.json; 选完省市区 数据是一…...
了解 nextTick
一. 什么是 nextTick 简单的说,nextTick 方法是在 Vue.js 中常见的一种异步更新 DOM 的机制。它的原理是利用 JavaScript 的事件循环机制以及浏览器的渲染流程来实现延迟执行 DOM 更新操作。 它的出现主要是为了解决 Vue 的异步更新导致的 DOM 更新后的操作问题。…...
C++精进之路(十六)string类和标准模板库
C提供了一组功能强大的库,这些库提供了很多常⻅编程问题的解决方案以及简化其他问题的工具。 string 类为将字符串作为对象来处理提供了一种方便的方法。string 类提供了自动内存管理功能以及众多处 理字符串的方法和函数。例如,这些方法和函数让您能够合…...
【23.12.29期--Redis缓存篇】谈一谈Redis的集群模式
谈一谈Redis的集群模式 ✔️ 谈一谈Redis的集群模式✔️主从模式✔️ 特点✔️Redis主从模式Demo ✔️哨兵模式✔️Redis哨兵模式Demo✔️特点 ✔️Cluster模式✔️Redis Cluster模式Demo✔️特点 ✔️ 谈一谈Redis的集群模式 Redis有三种主要的集群模式,用于在分布…...
【算法挨揍日记】day34——647. 回文子串、5. 最长回文子串
647. 回文子串 647. 回文子串 题目描述: 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串&am…...
新疆模板网站建设/网站推广外贸
https://www.cnblogs.com/hyl8218/p/5088287.html转载于:https://www.cnblogs.com/xt-Corrine/p/10685869.html...
辽宁省住房建设厅网站科技中心/个人怎么开跨境电商店铺
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止…...
自己做书画交易网站/电销外包团队在哪找
【现象】 原因是{}导致的 【解决方法】 logger.info(f接口地址:/user/dashboard/getBaseCount ,请求参数:{},返回结果:{result}) 修改为: logger.info(f接口地址:/user/dashboard/getBaseCount ,请求参数:,返回结果:{result})...
推广做网站怎么样/百度搜索大数据查询
除了基本操作符中所讲的运算符,Swift还有很多复杂的高级运算符,包含了C语和Objective-C中的位运算符和移位运算。 不同于C语言中的数值计算。Swift的数值计算默认是不可溢出的。溢出行为会被捕获并报告为错误。你是有益的?好吧,你…...
番禺网站建设wwiw/福建键seo排名
在开发项目时,经常会遇到需要生成报表。通常情况下都是生成的Excel文件,但若是想把生成的Excel文件插入到Word文档中再生成报表,可就不是那么容易了,这时就需要借助PageOffice开发平台中的数据区域了。具体实现步骤如下࿱…...
做网站要用什么语言/360搜索引擎优化
2019独角兽企业重金招聘Python工程师标准>>> 1.play2.2 run配置 下载play 2 App -Xms512M -Xmx1024M -Xss1M -XX:CMSClassUnloadingEnabled -XX:MaxPermSize256M 2.新增jar包: 可以直接放在项目目录下的lib下(没有的话自己建一个)…...