前言:字典在很多的教材中都是和列表、元组放在一起说,其中有一本书的安排顺序比较精妙,我这里也是遵循这本书的逻辑过来的。
字典在if 语句的作用下,可以做到Excel表格里Vlookup函数的效果。
看到这里不明白Vlookup函数的可以给大家介绍一下,这个函数的作用就是匹配,比如现在有一份班级学生上一次考试成绩的Excel表格,这一次考试成绩又出来了,如果我想对比两次的分数,我是不是需要这样做:
1、先看上一次的名单第一个同学名字
2、到第二份名单中找这个同学
3、把第二次的成绩写在第一次后面做对比
4、再这样找下一个
Vlookup就是在计算机层面,自动的完成以上的四步.。
下面正式开始学习字典的相关知识。
如何创建一个字典创建了一个字典
dict = {键1:值1,键2:值2,键3:值3,键4:值4}
按照这样的结构组成。这个看看就会了,不用纠结。
访问字典的值
以上是根据字典中的键来输出对应的值的。这里我想试试能不能像列表一样用索引值访问呢?
这里显示键输入错误。也即是说不能通过索引值访问。
字典的加、减、改
添加操作很简单,直接声明键-值即可,比如:
其实添加字典的时候,并不一定是按照添加顺序显示在字典里,因为字典中更在意的是键值对的一一对应关系,而弱化了键值对之间的排列顺序。这一点需要注意一下即可。
删除操作也不难,用的是就是列表中学到的del 语句。
修改操作也不难,哈哈哈,直接改就行了。
以上用到的例子都是我一个人的一些爱好,那能不能变成类似对象组成的字典呢?当然是可以的。
类似对象组成的字典
以上就是创建了一个类似对象组成的字典。这样写便于观看
遍历字典
又遇到遍历问题了,这时候我们又要请出我们的for循环。
这里就遇到了一个问题,按照之前列表中for循环的使用规则用到字典中,发现只遍历了字典中的键,而没有值。查资料发现,for i in our_drink: 其实就是for i in our_drink.keys():
如果想要输出键值对的值,需要用到values()函数,如图
方法一:
通过keys()和values()函数实现的读取键值对的操作。
方法二:
通过items()函数的方法,items()函数的作用是将字典返回一个键值对列表。
这个里面都是没有学过的类型呀!啊呀,这个dict_items是什么呀?
这个资料里面是这样解释的。
回到主题上来,怎么通过items()这个函数来遍历字典呢?直接看例子
关于遍历字典还有两个基本会遇到的的小问题:
1、字典本身只处理键值对的一一对应,键值对之间的顺序在字典中是模糊的,如果我们需要按顺序遍历字典的键或者值该怎么做?
2、字典中的键值对是可以重复的,但是读取的时候我们希望去重,该怎么做?
关于第一个问题,我们可以用之前学习的sorted()函数解决。不赘述
第二问题,需要引入一个set集合的概念。set()在其他教材中是和列表元组一起介绍的的,这里在字典去重的时候介绍十分符合逻辑顺序。
set集合也是通过大括号{}表示,但是其中存储的是一个个元素,而不是一对对的键值对,最主要的功能是去重!这里的去重不是直接在原数据里去重而是复制一个副本在副本中去重,这就很妙!用set去重操作
嵌套
顾名思义就是嵌套,哈哈
1、列表里嵌套字典
2、字典里嵌套列表
3、字典里嵌套字典
关于嵌套的东西,不想举例了,因为举例无非就是告诉你可以这么套。这样的的例子意义不大。
以上就是所有字典的内容,虽然现在可能没怎么用的上字典,但是直觉告诉我,字典的匹配描述的特性,一定是python中重要的一个环节。