大家好,欢迎收看思路实验室出品的Python入门教程,我是室长。
字典对于我们来说已经是老朋友了,在之前的学习中我们已经多次使用过字典。其实字典和列表是有相似性的,列表查找内容靠的是索引值,而字典查找内容靠的是键名;列表和字典都是可修改的(区别于字符串的不可修改)。因此字典的很多方法是和列表有相似性的,我们这里就来看一下:
get方法:
有的时候我们可能不知道字典里有没有这个键就直接输入了,像这样:
这种情况下运行了肯定就会报错:
但是我们就是只是查个字典嘛,没有就说没有,报什么错呀。我们希望当字典没有的时候返回一个None就行了,这时候我们就可以使用get方法:
如果我们不想返回None,想返回一个“没有”,那我们就可以把“没有”填到get方法的第二个参数坑位。
setdefault方法:
有时候我们希望我们查过的项目就算没有也能被记录下来,到时候我们可以打印一下字典看看有哪些是没查出来的。这时候我们可以使用setdefault方法:
items方法:
字典里的键值对被称为item(项)。很多时候我们需要逐个项地去操作,就像用for循环操作列表一样,字典可以这么操作吗?
不行,出来的只有键。这时候我们就可以使用items方法:
可以看到,返回的不是列表,而是dict_items的什么玩意,可不可以用for循环呢?
可以看到,返回值是包含键和值的元组。不过在实际使用中,我们可以这样做:
而这个dict_items的什么玩意被称为字典视图,我们可以使用list函数把它转换为一个列表。
keys方法:
keys方法也返回一个字典视图,但是只包含键不包含值。
values方法:
values方法也返回一个字典视图,但是只包含值不包含键。
items、keys、values这三兄弟看起来用起来都差不多。
pop方法:
大家看到pop方法可能觉得眼熟,列表就有pop方法。而字典的pop方法和列表的有一点点区别,就是需要指定需要弹出的项的键名,而返回的是相应的值:
popitem方法:
这个方法直接pop掉键值对,返回元组形式的键值对。需要注意的是列表是有顺序的,但字典没有顺序,所以每次popitem弹出来的值可能都是随机的。
update方法:
用一个新的字典去覆盖老的字典。新老字典里都有的键的值会被改写为新字典里的值。老字典里有新字典里没有的键不受影响,新字典里有老字典里没有的键值对会被添加到老字典里:
fromkeys方法:
我们如果想以一个列表里的元素为字典项的键来创建字典,可以使用fromkeys方法:
同样,fromkeys的第二个参数位是默认值,不填的话默认是None。
clear方法:
和列表一样,直接清空。
这一期我们学习了字典的一些方法,因为字典和列表非常相似,我们不用花费太多功夫就能理解相应的功能。至此,列表、字符串、字典这三大最常用的数据类型的常用方法都已经介绍完了。后边我们将深入讲解一些Python的机制以及常用的模块,同时根据学习的进度进行实例的练习。如果这篇文章对你有所帮助,希望能帮室长点个赞