请仔细阅读哦!!!

文章目录

  • 前言
  • 一、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入门进阶篇(六)字典的介绍相关推荐

  1. 【目录】Python 入门基础篇 <(^-^)>

    Python 入门基础篇 一.关于Python的介绍与准备工作 Python基础介绍 Jupyter notebook基础介绍 Jupyter notebook打开问题 Jupyter noteboo ...

  2. python 类-Python入门--一篇搞懂什么是类

    原标题:Python入门--一篇搞懂什么是类 写一篇Python类的入门文章,在高级编程语言中,明白类的概念和懂得如何运用是必不可少的.文章有点长,3000多字. Python是面向对象的高级编程语言 ...

  3. nas安装emby_威联通QNAP系统入门进阶 篇二:宅家新姿势—威联通NAS安装套件版Emby搭建家庭影音服务器...

    威联通QNAP系统入门&进阶 篇二:宅家新姿势-威联通NAS安装套件版Emby搭建家庭影音服务器 2020-02-04 19:38:54 123点赞 1466收藏 123评论 你是AMD Ye ...

  4. Python入门基础篇 No.8 —— 时间的表示_unix时间点_毫秒_time模块

    Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 文章目录 Python入门基础篇 No.8 -- 时间的表示_unix时间点_毫秒_time模块 前言 一.时间 ...

  5. python 入门12篇

    #第  005 期# 所以Python是一种相当高级的语言. 完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行. Python入门系列(一)  情书吖P ...

  6. 笨办法学python3进阶篇下载_笨办法学Python 3 进阶篇

    书名:"笨办法"学Python 3:进阶篇 定价:59.0 ISBN:9787115505392 作者: 泽德·A. 肖 版次:第1版 出版时间:2020-06 内容提要: 本书是 ...

  7. [安全攻防进阶篇] 六.逆向分析之OllyDbg逆向CrackMe01-02及加壳判断

    前文作者讲解了OllyDbg和在线沙箱的逆向分析过程,分享了恶意软件如何通过宏脚本发送勒索信息或密码至用户邮箱.这篇文件将带领大家逆向分析两个CrackMe程序,包括逆向分析和源码还原,基础性文章,希 ...

  8. python初级进阶篇

    python之路:进阶篇 一.作用域 在Python 2.0及之前的版本中,Python只支持3种作用域,即局部作用域,全局作用域,内置作用域:在Python 2.2中,Python正式引入了一种新的 ...

  9. 推荐python入门进阶到大神的书籍

    最近看到好多回答求助一些入门进阶的书籍或者视频 第一部分:python基础的书籍 1)Python入门 <Python编程:从入门到实践> <从零开始学 Python>(第二版 ...

最新文章

  1. 【转】Spring mvc 统一异常处理和静态文件的配置
  2. kill session-KILL_SESSION()
  3. matlab在图像调用Gabor滤波
  4. Jstorm+Spring+mybatis整合
  5. html计算器_学习HTML、CSS和JavaScript的最佳方法是什么?
  6. 友情提示!距离CVPR 2020截稿还剩2天!
  7. 作为现代计算机理论的基础的,作为现代计算机理论基础的冯·诺依曼原理和思想是()。...
  8. 开源公司抱团取暖,讨论如何在云厂商“寄生”下生存
  9. 图像算法四:【图像增强--频率域】傅里叶变换、快速傅里叶变换、频域滤波、频域低通滤波、频域高通滤波
  10. iOS开发--底部按钮和应用图标显示未读消息
  11. Linux安装GCC方法
  12. 有关于FireBug和FirePath安装和使用-学习笔记
  13. arcgis栅格数据绘制等值线_arcgis10.0,等值线
  14. 直播声音代码html,如何实现在直播中播放音频文件
  15. Liang-Barsky算法剪裁实例
  16. 《梦想新大陆》美术研发手札
  17. 高速公路联网收费二义性路径识别系统原理及开发
  18. CF大陆斗C战士(一)
  19. 领导艺术:如何留住员工的心
  20. opentsdb 简易生动讲解

热门文章

  1. NC63 后端通过单据执行动作 修改单据详细解读
  2. springMVC 控制层添加异步线程
  3. eclipse中The JSP specification requires that an attribute name is preceded by whitespace
  4. MUI tab选项卡之间的切换和数据获取
  5. stringbuffer判断是否为空
  6. hashSet与treeSet的去重原理
  7. MySQL如何创建沙箱,沙箱环境搭建 - osc_y8w65yuq的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. Java最后_Java最后一次总结
  9. java 0l是多少_Java 构造器 - osc_0ltyoebk的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. exls导入数据库 php_PHP读取excel文件并导入数据库