Python入门进阶篇(六)字典的介绍
请仔细阅读哦!!! |
文章目录
- 前言
- 一、Python字典的创建与删除
- 1.字典的创建
- 2.字典的删除
- 二、Python字典的访问
- 1.通过“键值对”访问字典
- 2.遍历字典
- 三、Python字典的添加、修改和删除元素
- 1.字典元素的添加
- 2.修改字典元素
- 3.删除字典元素
前言
前面写了关于Python的列表、元组相关知识,这次来写写字典吧。字典与列表类似,也是可变序列,但与列表不同的是,字典是无序的可变序列,保存的内容是以“键值对”的形式存放的。字典有以下几个主要特征:
1)只能通过键来读取,不能用索引的方式
2)字典是任意对象的无序集合
3)字典可变且可以任意嵌套
4)字典中的键必须唯一且不可变
一、Python字典的创建与删除
1.字典的创建
当需要定义一个含有元素的字典时,则要求每一个元素都包含两个部分“键”和“值”,并且“键”(key)和“值”(value)之间使用冒号分隔,相邻两个元素使用逗号分隔,所有元素放在一个大括号里面“{}”,语法格式如下:
dict_name={‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , … , ‘keyn’ : ‘valuen’ ,}
字典的创建与列表元组等都类似,也可以直接创建一个空的字典
dict_name={}
或者
dict_name=dict()
Python的 dict()方法还可以通过已有的数据快速创建字典:
①通过映射函数创建字典
语法格式如下:
dict_name=dict(zip(list_1,list_2))
zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。如果想得到元组,可以使用tuple()函数将zip对象转换为元组;如果想得到列表,则可以使用list()函数将其转换为列表。
例:
运行结果:
②通过给定的“关键字参数”创建字典
语法格式如下:
dict_name=dict(key1=value1 , key2=value2 ,…, keyn=valuen)
例:
运行结果:
2.字典的删除
删除整个字典可以直接使用del语句
del dict_name
如果只想删除字典中的全部元素,可以使用字典对象的clear()方法,使用后,原字典将变成空字典
语法格式如下:
dict_name.clear()
除了使用这两种方法外,还可以使用pop()方法删除并返回指定“键”的元素,以及popitem()方法删除并返回字典中的一个元素。
二、Python字典的访问
1.通过“键值对”访问字典
在Python中,可以直接用print()函数将字典的内容输出,如果不需要将字典全部内容输出,想根据指定的键来得到相应的结果,则往往通过下标来实现对字典元素的访问,要注意的是这里的下标不是像列表、元组的索引号,而是“键”
例:
运行结果:
上述方法获取字典元素是有缺点的,如果当需要获取指定的键的值在该字典中不存在时,结果会抛出异常,所以我们可以先通过使用if语句判断一下。但在Python中推荐的方法是字典对象的get()方法获取指定键的值。
语法格式如下:
dictionary.get(key,[default])
dictionary:为字典对象,即需要从中获取值的字典
key;表示字典的键
default:可选项,用于指定当指定的“键”不存在时,返回一个默认值,如果省略,则返回None
例:
运行结果:
2.遍历字典
因为字典是以“键值对”的形式存储数据的,所以在使用字典时需要获取到这些“键值对”。Python提供了遍历字典的方法,如下:
①使用字典对象的items()方法
语法格式如下:
dict_name.items()
注意的是,这个方法运行后返回值是可遍历的(“键值对”)的元组列表,所以想要得到具体的“键值对”,需要通过for循环遍历该元组列表
例:
运行结果:
如果想要得到具体的每个键和值可以采用如下代码实现:
运行结果:
②使用字典对象的keys()、values()方法
此方法使用方法与items()方法类似,只是返回值不一样,keys()方法返回的是字典中所有键的列表,values()方法返回的是字典中所有值的列表
例:
运行结果:
三、Python字典的添加、修改和删除元素
因为字典是可变序列,所以很多时候我们需要对字典进行一系列操作,如添加、修改和删除元素,那么有什么方法可以实现呢?
1.字典元素的添加
语法格式如下:
dict_name[key]=value
例:
运行结果:
2.修改字典元素
因为字典中“键”必须是唯一的,所以当我们需要修改元素时,可以使用新的“值”去代替原来该“键”的值,代码如下:
运行结果:
3.删除字典元素
上面讲了如何删除字典,如果只想删除字典中指定“键”的元素,那么可以这样使用del语句;
del dict_name[key]
加油加油!!! |
Python入门进阶篇(六)字典的介绍相关推荐
- 【目录】Python 入门基础篇 <(^-^)>
Python 入门基础篇 一.关于Python的介绍与准备工作 Python基础介绍 Jupyter notebook基础介绍 Jupyter notebook打开问题 Jupyter noteboo ...
- python 类-Python入门--一篇搞懂什么是类
原标题:Python入门--一篇搞懂什么是类 写一篇Python类的入门文章,在高级编程语言中,明白类的概念和懂得如何运用是必不可少的.文章有点长,3000多字. Python是面向对象的高级编程语言 ...
- nas安装emby_威联通QNAP系统入门进阶 篇二:宅家新姿势—威联通NAS安装套件版Emby搭建家庭影音服务器...
威联通QNAP系统入门&进阶 篇二:宅家新姿势-威联通NAS安装套件版Emby搭建家庭影音服务器 2020-02-04 19:38:54 123点赞 1466收藏 123评论 你是AMD Ye ...
- Python入门基础篇 No.8 —— 时间的表示_unix时间点_毫秒_time模块
Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 文章目录 Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 前言 一.时间 ...
- python 入门12篇
#第 005 期# 所以Python是一种相当高级的语言. 完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行. Python入门系列(一) 情书吖P ...
- 笨办法学python3进阶篇下载_笨办法学Python 3 进阶篇
书名:"笨办法"学Python 3:进阶篇 定价:59.0 ISBN:9787115505392 作者: 泽德·A. 肖 版次:第1版 出版时间:2020-06 内容提要: 本书是 ...
- [安全攻防进阶篇] 六.逆向分析之OllyDbg逆向CrackMe01-02及加壳判断
前文作者讲解了OllyDbg和在线沙箱的逆向分析过程,分享了恶意软件如何通过宏脚本发送勒索信息或密码至用户邮箱.这篇文件将带领大家逆向分析两个CrackMe程序,包括逆向分析和源码还原,基础性文章,希 ...
- python初级进阶篇
python之路:进阶篇 一.作用域 在Python 2.0及之前的版本中,Python只支持3种作用域,即局部作用域,全局作用域,内置作用域:在Python 2.2中,Python正式引入了一种新的 ...
- 推荐python入门进阶到大神的书籍
最近看到好多回答求助一些入门进阶的书籍或者视频 第一部分:python基础的书籍 1)Python入门 <Python编程:从入门到实践> <从零开始学 Python>(第二版 ...
最新文章
- 【转】Spring mvc 统一异常处理和静态文件的配置
- kill session-KILL_SESSION()
- matlab在图像调用Gabor滤波
- Jstorm+Spring+mybatis整合
- html计算器_学习HTML、CSS和JavaScript的最佳方法是什么?
- 友情提示!距离CVPR 2020截稿还剩2天!
- 作为现代计算机理论的基础的,作为现代计算机理论基础的冯·诺依曼原理和思想是()。...
- 开源公司抱团取暖,讨论如何在云厂商“寄生”下生存
- 图像算法四:【图像增强--频率域】傅里叶变换、快速傅里叶变换、频域滤波、频域低通滤波、频域高通滤波
- iOS开发--底部按钮和应用图标显示未读消息
- Linux安装GCC方法
- 有关于FireBug和FirePath安装和使用-学习笔记
- arcgis栅格数据绘制等值线_arcgis10.0,等值线
- 直播声音代码html,如何实现在直播中播放音频文件
- Liang-Barsky算法剪裁实例
- 《梦想新大陆》美术研发手札
- 高速公路联网收费二义性路径识别系统原理及开发
- CF大陆斗C战士(一)
- 领导艺术:如何留住员工的心
- opentsdb 简易生动讲解
热门文章
- NC63 后端通过单据执行动作 修改单据详细解读
- springMVC 控制层添加异步线程
- eclipse中The JSP specification requires that an attribute name is preceded by whitespace
- MUI tab选项卡之间的切换和数据获取
- stringbuffer判断是否为空
- hashSet与treeSet的去重原理
- MySQL如何创建沙箱,沙箱环境搭建 - osc_y8w65yuq的个人空间 - OSCHINA - 中文开源技术交流社区...
- Java最后_Java最后一次总结
- java 0l是多少_Java 构造器 - osc_0ltyoebk的个人空间 - OSCHINA - 中文开源技术交流社区...
- exls导入数据库 php_PHP读取excel文件并导入数据库