python做词典_真·0基础自学python(字典)

前言:字典在很多的教材中都是和列表、元组放在一起说,其中有一本书的安排顺序比较精妙,我这里也是遵循这本书的逻辑过来的。

字典在if 语句的作用下,可以做到Excel表格里Vlookup函数的效果。

看到这里不明白Vlookup函数的可以给大家介绍一下,这个函数的作用就是匹配,比如现在有一份班级学生上一次考试成绩的Excel表格,这一次考试成绩又出来了,如果我想对比两次的分数,我是不是需要这样做:

1、先看上一次的名单第一个同学名字

2、到第二份名单中找这个同学

3、把第二次的成绩写在第一次后面做对比

4、再这样找下一个

Vlookup就是在计算机层面,自动的完成以上的四步.。

下面正式开始学习字典的相关知识。

如何创建一个字典4a1cb3c4892a661e0fb82eeb53f9c4a74962ebed.png创建了一个字典

dict = {键1:值1,键2:值2,键3:值3,键4:值4}

按照这样的结构组成。这个看看就会了,不用纠结。

访问字典的值1e280c7f96fe3f4fe5b1688ebd4afd3e686abed3.png

以上是根据字典中的键来输出对应的值的。这里我想试试能不能像列表一样用索引值访问呢?6b4f6c35748be6753db07511e0fe9be433cee88e.png

这里显示键输入错误。也即是说不能通过索引值访问。

字典的加、减、改

添加操作很简单,直接声明键-值即可,比如:3071ab29e7648bd28d701417527f741cf2b86714.png

其实添加字典的时候,并不一定是按照添加顺序显示在字典里,因为字典中更在意的是键值对的一一对应关系,而弱化了键值对之间的排列顺序。这一点需要注意一下即可。

删除操作也不难,用的是就是列表中学到的del 语句。f83c2580e543d4208d061bcd833d64a4a05c241f.png

修改操作也不难,哈哈哈,直接改就行了。f95cf2a397771573e21ac5b7e30230947898756e.png

以上用到的例子都是我一个人的一些爱好,那能不能变成类似对象组成的字典呢?当然是可以的。

类似对象组成的字典

以上就是创建了一个类似对象组成的字典。356dc5643b7a01ad3c3e4ba363ff6d1d4f2a236c.png这样写便于观看

遍历字典

又遇到遍历问题了,这时候我们又要请出我们的for循环。65ee10195c89835655d4328c3e5533c67165ca60.png

这里就遇到了一个问题,按照之前列表中for循环的使用规则用到字典中,发现只遍历了字典中的键,而没有值。查资料发现,for i  in  our_drink: 其实就是for i  in  our_drink.keys():

如果想要输出键值对的值,需要用到values()函数,如图70f385063d62f4764e1039360ed1bc58cf9344e4.png

方法一:

通过keys()和values()函数实现的读取键值对的操作。

方法二:

通过items()函数的方法,items()函数的作用是将字典返回一个键值对列表。

c5bc5c8b8825753b7eabfdd2995fd531939a25c4.png

这个里面都是没有学过的类型呀!啊呀,这个dict_items是什么呀?

1945890479dbe229658a614a308ec63748d3b676.png

这个资料里面是这样解释的。

回到主题上来,怎么通过items()这个函数来遍历字典呢?直接看例子994dbd8ca4ef81118d5c580e41bbd2fd5e4d6d8e.png

关于遍历字典还有两个基本会遇到的的小问题:

1、字典本身只处理键值对的一一对应,键值对之间的顺序在字典中是模糊的,如果我们需要按顺序遍历字典的键或者值该怎么做?

2、字典中的键值对是可以重复的,但是读取的时候我们希望去重,该怎么做?

关于第一个问题,我们可以用之前学习的sorted()函数解决。不赘述

第二问题,需要引入一个set集合的概念。set()在其他教材中是和列表元组一起介绍的的,这里在字典去重的时候介绍十分符合逻辑顺序。

set集合也是通过大括号{}表示,但是其中存储的是一个个元素,而不是一对对的键值对,最主要的功能是去重!这里的去重不是直接在原数据里去重而是复制一个副本在副本中去重,这就很妙!8ab9b6bfe8598b929001e8797b7646f464343606.png用set去重操作

嵌套

顾名思义就是嵌套,哈哈

1、列表里嵌套字典

2、字典里嵌套列表

3、字典里嵌套字典

关于嵌套的东西,不想举例了,因为举例无非就是告诉你可以这么套。这样的的例子意义不大。

以上就是所有字典的内容,虽然现在可能没怎么用的上字典,但是直觉告诉我,字典的匹配描述的特性,一定是python中重要的一个环节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值