前面我们已经学习了Python的字符串,列表,元组,这一篇我们将学习字典,字典的使用频率是非常高,跟前面几篇一样,只要你用Python编程,就避不开Python字典。

一、创建字典


字典由键(key)和对应的值(value)成对组成。字典也被称作关联数组或哈希表。基本语法如下:

 dict = {'Tom':'52','Alice':'56','Lim':'58'}

字典中的每个键与值用冒号(:)隔开,每对键与值之间用逗号(,)隔开,整体放在花括号中({})。

键必须独一无二,但值则不必 ,我们可以理解,只有键独一无二,才能通过键访问到键所对应的值。

值(value)可以取任何数据类型。

键(key)必须是不可变的,如字符串,数字或元组,而不能用列表。

字典的键(key)是字符类型在字典创建之前没有定义的话,那么键必须用单引号('')或双引号("")包围,否则会报错

 dict2 = {Tome: 52, Alice: 56, Lim: 58}报错:NameError: name 'Tome' is not definedTome=52Alice=56dict2 = {Tome: 52, Alice: 56, "Lim": 58}   #成功创建字典

字典的键(key)是数字(整型或浮点型),则不需要单双引号包围,可以创建成功

 dict2 = {'abc': 123, 89: 37}print(type(dict2))print(dict2[89])

运行截屏:

字典的键(key)是元组,则不需要单双引号包围,可以创建成功

 dict = {('Tim','Jim'):25,'Tome':26}print(type(dict))print(dict[('Tim', 'Jim')])

运行截屏:

同一个字典里面键可以分别用单引号和双引号,但是在创建过程中,键用单双引号包围的,全部变成了单引号

 dict1 = {'Tom':'52','Alice':'56','Lim':'58'}dict2 = {"Tome":52,"Alice":56,"Lim":58}dict3 = {"Tome": 52, "Alice": 56, 'Lim': 58}

运行截图:

如果字典中键有相同的,也可以创建成功,但是所创建的字典中相同键只取了最后一个键和值

 dict4 = {"Tome": 52, "Alice": 56, "Tome": 58,  'Tome': 59}print(dict4)print(type(dict4))print(dict4['Tome'])

运行结果截图:

二、访问字典的值

上面的例子中,我们都有通过键获取值。

 dict['key']          #如果键key不存在,则会报错dict.get('key')      #如果键key不存在,则会返回Nonedict.get('key','not find')  #如果不存在,则会返回一个默认值:not finddict = {"Tome": 52, "Alice": 56, "Lim": 58,  'Jim': 59}print(dict["Jim"])print(dict.get("Lim"))print(dict.get('name'))print(dict.get('name',"Li Ming"))print(dict['name'])

运行截图:

获取所有的键(key)和值(value)

 dict.keys()      #获取所有的key值dict.values()    #获取所有的values值dict = {"Tome": 52, "Alice": 56, "Lim": 58,  'Jim': 59}print('所有键:',dict.keys())print('所有值:',dict.values())

运行截图:

三、添加Python字典键值对

为字典添加键值非常简单,直接给不存在的key赋值即可。

 dict[key] = value

对应说明:

  • dict 表示已有的字典名称
  • key表示新的键
  • value表示新的键所对应的值
 dict1 = {'Tom':25}print('字典dict1:',dict1)dict1['Jim'] = 30dict1['Ham'] = 35print('字典dict1:', dict1)

四、修改Python字典键值对

Python字典中键(key)的名字不能修改,我们可以通过键来修改值(value)

 dict1 = {'Tom': 25, 'Jim': 30, 'Ham': 35}print(dict1)dict1['Jim'] = 50           #通过key来修改valueprint(dict1)

运行截屏

五、删除Python字典中的键值对

 del dict[key]dict1 = {'Tom': 25, 'Jim': 30, 'Ham': 35}print(dict1)del dict1['Jim']           #删除键值对:'jim':30print(dict1)del dict1['Ham']print(dict1)

运行截屏

六、判断Python字典中是否存在指定的键(key)

我们知道字典中的键是唯一的,那么我们就可以判断字典中是否有对应的键。

  key in dict        #键在字典中key not in dict    #键不在字典中dict1 = {'Tom': 25, 'Jim': 30, 'Ham': 35}print('Tom' in dict1)print('Lim' in dict1)print('Tom' not in dict1)print('Lim' not in dict1)

运行截屏:

结束语:

这一篇我们讲了Python字典中的创建及各种基础的使用技能。还有一些操作方法就没有深入的去讲,因为作为初学者来说,把最基础的原理及操作方法弄懂,弄熟,我觉得应该是最好的。等实际项目中需要用到更复杂的方法我再去查资料,深入学习。下一篇我们将学习集合(set)


原创不易,喜欢就给个赞,点个关注吧!更多的内容可以关注公众号:老树Python推荐阅读:

老树Python:一步一步学Python3(小学生也适用) 第十二篇: 元组tuple类型​zhuanlan.zhihu.com

一步一步学Python3(小学生也适用) 第十一篇: 列表List类型​mp.weixin.qq.com

老树Python:一步一步学Python3(小学生也适用) 第十篇: 字符串(str)类型(下)​zhuanlan.zhihu.com

老树Python:一步一步学Python3(小学生也适用) 第九篇: 字符串(str)类型(中)​zhuanlan.zhihu.com

dict keys 取最后一个_一步一步学Python3(小学生也适用) 第十三篇: 字典Dict类型相关推荐

  1. python字典添加数组_一步一步学Python3(小学生也适用) 第十三篇: 字典Dict类型

    前面我们已经学习了Python的字符串,列表,元组,这一篇我们将学习字典,字典的使用频率是非常高,跟前面几篇一样,只要你用Python编程,就避不开Python字典. 一.创建字典 字典由键(key) ...

  2. python3循环一直到一个值结束_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环...

    一.Python for in循环 Python for in 循环,是用来遍历任何数据序列,如一个列表,一个字符串,一个字典,一个元组等. for in 循环的一般语法如下: for item in ...

  3. list循环赋值_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环

    一.Python for in循环 Python for in 循环,是用来遍历任何数据序列,如一个列表,一个字符串,一个字典,一个元组等. for in 循环的一般语法如下: for for in ...

  4. float取整数部分_一步一步学Python3(小学生也适用) 第六篇: 变量及整数(int)类型...

    上一篇中我们把数字或字符串赋值给了一个变量,那么这一篇我们将先介绍一下变量变量可以看成一个抽屉,用来存放程序中的数据.在一个程序中每个变量都拥有独有的名字,通过变量的名字就能找到变量中(抽屉)的数据. ...

  5. python str 换行_一步一步学Python3(小学生也适用) 第八篇: 字符串(str)类型(上)...

    前面两篇,我们学习了整型(int)和浮点型(float),这一篇我们将学习Python的字符串(str)类型. 一.Python字符串(str)类型 Python的字符串(str)就是若干个字符的集合 ...

  6. visual studio学习python_一步一步学Python3(小学生也适用) 第三篇: Visual Studio Code

    工欲善其事,必先利其器: 器欲尽其用,必先得其法. 前面两章我们分别安装了Python3.8和在三种模式下运行了Python的print()函数程序.在开始我们正式学习Python基础语法时,我们先把 ...

  7. 字典排序 python3_一步一步学Python3(小学生也适用) 第十二篇: 元组tuple类型

    上一篇我们学习了列表(List),这一篇我们将学习元组(Tuple). 一.Python元组(Tuple) python的元组与列表类似,列表使用方括号[ ],元组使用小括号(). 元组的创建跟列表一 ...

  8. 九宫怎么排列和使用_广告视频配音剪映零基础入门教程第二十三篇:剪辑之九宫格教程...

    朋友圈最火九宫格视频你们知道是怎样制作的吗?我们常常在玩朋友圈的时候想用九宫格照片,但是你们有没有遇到这种情况,想玩九宫格却发现找不到那么多能用的照片,那这时候怎么办呢?玩腻了平常图片的发法,今天我们 ...

  9. python中字典的常用函数_Python字典dict常用方法函数实例

    dict={'name':'Joe','age':18,'height':60} clear,清空 dict.clear() #运行结果{} pop,移除指定key的键值对并返回vlaue(如果没有该 ...

最新文章

  1. 《Mysql数据库及应用》_MySQL数据库及应用
  2. Xamarin iOS开发中的编辑、连接、运行
  3. C#只能lock 引用类型的值 (转载)
  4. 查找Linux中内存和CPU使用率最高的进程
  5. JAVA中数组Array与List互转
  6. asp.net发送邮件时在正文中插入图片
  7. 【Hook】postman工具的代码生成工具让它锦上添花
  8. 计算机突然从桌面消失了,电脑桌面突然什么都没有了,怎么处理
  9. 快速开发和设计的8个黄金法则
  10. matlab 例题sin,matlab基础练习题(带答案).doc
  11. Title函数--Matplotlib
  12. C++ STL求全排列和组合
  13. U盘中文件消失但仍占用空间
  14. 手机寸照如何修改底色
  15. [matlab]havel定理证明(笔记)
  16. 2021年浏阴一中高考成绩查询,2021年湖南高考最高分多少分,历年湖南高考状元
  17. I.MX6ULL_Linux_基础篇(11) DDR介绍与校准
  18. LNMP架构搭建以及部署DISCUZ!社区论坛应用
  19. 计算机无法使用网络连接到服务器,电脑无法连接网络并诊断提示DNS服务器未响应的解决方法...
  20. Java设计模式面试题及答案(持续更新。。。)

热门文章

  1. 最新任务型对话数据集大全
  2. 二叉树先中后序递归遍历与非递归遍历、层次遍历
  3. c++ 字符串转数字
  4. 17-比赛2 C - Maze (dfs)
  5. 计蒜客 28437.Big brother said the calculation-线段树+二分-当前第k个位置的数 ( ACM训练联盟周赛 M)...
  6. kindeditor和easyui整合出不来
  7. pat 甲级 1034. Head of a Gang (30)
  8. windows使用python3.4生成二维码
  9. HDU 5600(瞎搞)
  10. POJ-2400 Supervisor, Supervisee 带权值匹配+枚举所有匹配情况