【20天搞定python基础】第九天:Python字典详解

您所在的位置:网站首页 python中定义字典名 【20天搞定python基础】第九天:Python字典详解

【20天搞定python基础】第九天:Python字典详解

#【20天搞定python基础】第九天:Python字典详解| 来源: 网络整理| 查看: 265

【千锋教育干货暴击】

如果你想更好的学习Python乃至转行,弯道超车,快人一步!本课程零基础即可加入学习,抓住大数据、机器学习、人工智能时代的红利,开启你的第一行代码吧!

   ↓    ↓    ↓

千锋Python全套视频教程(700集)

千锋教育Python教程全套_python零基础入门到精通(学完可达到Python工程师水平)

Python中还有一个很重要的数据类型就是字典,其实集合的底层使用的也是字典。

Python字典区别于其他的'容器'类型(list、tuple、set)的是里面存放的数据都是有映射关系的数据。

比如有份用户信息等级的数据如下:

这组数据可以看成两个列表,但这两个列表的元素之间有一定的关联关系。如果单纯使用两个列表来保存这组数据,则无法记录两组数据之间的关联关系。那怎么办呢?

Python 提供了字典,可以保存具有映射关系的数据,所以字典相当于保存了两组数据。其中一组数据是关键数据,被称为 key,里面的数据是不能重复的;另一组数据可通过 key 来访问,被称为 value,value是允许重复的。

形象地看,字典中 key 和 value 的关联关系如图所示:

由于字典中的 key 是非常关键的数据,而且程序需要通过 key 来访问 value,因此字典中的 key 不允许重复。

如何声明一个字典呢?我们使用的是: 花括号或者大括号 即{}. 下面是一个空字典的声明

结果:

有映射关系的字典声明方式:

dict 是一种类型,它就是 指Python 中的字典类型,在使用花括号语法创建字典时,花括号中应包含多个 key-value 对,key 与 value 之间用英文冒号隔开,如果有多个 key-value 对之间用英文逗号隔开.

字典中的键key是不允许重复的,如果里面有重复的,后面的默认覆盖前面的。

结果:

但是如果值有重复的是没有关系的。

结果:

字典操作

字典的操作我们跟前面介绍一样,也是使用增删改查的顺序介绍。在我们开始之前,我们先了解下字典元素的获取。字典中不存在索引,那如何获取里面的数据呢?两种方式:

或者使用

允许发现结果是相同的,但是有什么区别呢?区别就是如果key在字典中不存在的情况下。第一种方式报错,第二种方式不报错,而且还可以设置默认值

get方法的第一个参数是key,第二个参数是默认值,即没有找到对应的key,显示的内容。

添加与修改元素

刚才在里面没有发现小飞,我们如何将小飞的信息加到字典里面呢?添加的方式:

上面这个用法对字典会产生两种影响,一种是添加一个键值对,一种是修改里面的一个键值对的值。

判断是哪一种,关键点是看key在字典中是否存在。如果key没有在字典中存在则添加一个键值对,否则如果存在则修改一个键值对。

有类似用法的还有:

结果:

添加或者修改元素使用较多的还是上面的那两种,下面的setdefault和update了解即可。

删除元素

元素删除方法也有多种,比如使用del、pop()、popitem()

均可以实现元素的删除,其实第一种和第二种是类似的,就看是否想获取被删除的元素了。如果全部都不想要可以使用clear(),即字典对象.clear()

查找元素

查找元素仍然是使用关键字in,但是如果直接用在字典上只能判断值是否存在与字典中。如果要判断值是否存在就要借助values()方法。

但是不能判断手机号码是否存在?此时借助values()

values()表示获取字典中的所有值。当然也可以把字典中的值通过for循环打印出来

打印结果:

案例展示

通过字典我们可以完成一个图书管理系统。代码如下

需要资料也可以关注微信公众号:Python专栏,事不宜迟,一起进步吧!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3