首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python入门(11)

Python入门(11/18)

第十一节 字典

大家好!今天我们学习Python的字典,它仍然是Python四大数据结构之一,也是很特别的一种数据类型。

1、字典

字典(dict)是Python语言中唯一的映射类型的序列。字典对象的值是可变的,它是一个容器类型,能存储任意个数的Python对象,也可以嵌套其他对象。

1、与其他序列类型的数据相比,字典存取和访问数据的方式不同。

2、其他序列类型是有序的,实际上隐含了数字类型的键(索引标号)。

3、字典是无序的,键和值成对出现,依赖于键来索引值。

4、字典的键不可更改,可以使用数字、字符串、元祖,一般用字符串作键。

5、键和值具有映射关系,因为键的唯一性,使得字典内的对象不重复。

2、创建一个字典

字典(dict)是由键和值组成的“键值对”的集合。

说明:

1、键与值用冒号隔开(:),每个键值对用逗号分割,整体放在花括号中{}。

2、键必须唯一,且不可更改。所以,凡是支持原处更改的类型不能作为键,如list、dict和set等,可以是数字、字符串和元组。

3、值不必唯一,可以取任何数据类型,甚至字典嵌套。

4、字典不是一个序列,它的内部看起来是无序的。但支持排序。

3、字典的增、删、改、查:【增】

我们可以直接或通过dict.setdefault()方法,向字典追加键值对。

说明:

1、直接通过给新的键赋值的方法,可以直接为字典追加新的键值对。

2、使用setdefault()方法也可以向字典追加新的键值对,并返回当前追加的值。

3、如果dict.setdefault()方法追加的键已经存在,则不会追加,仅返回该键对应的值

4、字典的增、删、改、查:【删】

使用del、pop()和clear()方法,可以删除一个或全部的键值对。

说明:

1、del方法通过指定键,可以直接删除该键对应的键值对。

2、使用pop()方法也可以删除字典指定键的键值对,并返该键对应的值。

3、字典通过clear()方法,将全部清空所有键值对。

5、字典的增、删、改、查:【改】

通过指定键或update()函数的方法,可以直接间接地修改某个键值对。

说明:

1、字典通过指定键方法可以直接修改对应的值。

2、使用update()函数也可以将一个新的字典的值,更新到指定的字典。遇到相同的键,修改其值,不同则追加。

3、也可以将一个元组的列表作为update()函数的参数,用来更新一个指定的字典。

6、字典的增、删、改、查:【查1】

字典不再使用下标索引来访问,而是使用键来访问对应的值。

说明:

1、不能使用下标索引的方法来访问字典中的值。

2、键和值一一对应,可以通过键访问对应的值。

3、字典中不允许有相同的键,如果重复添加了,内存中仅保留后面的键值。

7、字典的增、删、改、查:【查2】

使用dict.keys()、dict.values()、dict.items()方法,分别查询所有键、值和键值对。

说明:

1、dict.keys()方法返回一个doct_keys对象,该对象包含字典的所有键的列表。

2、dict.values()方法返回一个doct_values对象,该对象包含字典的所有值的列表。

3、dict.items()方法返回一个doct_items对象,该对象包含由字典的所有键值对组成的元组的列表。

8、字典的迭代

使用for key in dict迭代语句,可以方便地遍历一个字典的所有键值对。

9、字典的合并

在python3中,使用update()函数即可轻松实现两个字典的合并。

前面的介绍已经知道,如果dict2中存在dict1中的键值,将会用dict2中的值,替代dict1中的值,而不是追加。这样,当两个dict合并时,能够形成完美的叠加,而不会出现有重复的键值对。

10、字典的排序

在python中,字典看起来是无序的,使用sorted()函数可实现排序。

函数sorted()对所有可迭代的对象进行排序。

sorted(req,key=lambda x : x)有两个参数,第一个req,为一个可排序的对象,第二个key,是要被排序的目标,此处为lambda表达式。

11、字典的常用内置函数或方法

Python字典有如下常用内置函数和方法。请注意,我们有时在网上查找到的函数或方法,使用时会报错,很可能是版本问题。

len(dict) #返回字典的长度(键值对的个数)

dict.clear() #删除字典内所有元素

dict.copy() #返回一个字典的浅复制

dict.get(key, default) #返回指定键的值,如果键不存在,返回default值

dict.setdefault(key, val) #和get()类似,但如果键不存在,则添加该键值对

dict.items() #以列表返回可遍历的(键, 值) 元组数组

dict.keys() #返回一个字典所有的键的列表

dict.update(dict2) #把字典dict2的键/值对更新到dict里

dict.values() #以列表返回字典中的所有值

小结

这节课,我们详细介绍了字典(dict)的创建和使用方法。

预告

下节课,我们将继续介绍Python数据结构:集合,它是Python中又一个最常用的数据结构之一,也是我们集中介绍的最后一种数据结构。集合最常用的场景就是“去重”和集合运算(并集、交集和差集),它与我们初中数学中学到的集合概念非常类似。

下一篇
举报
领券