万字长文爆肝Python基础入门【第二弹、超详细数据类型总结】( 六 )


字典是一种用来存放若干键值对的数据类型 。
什么是键值对呢?键值对就是两个对象,其中一个是用来做定位的数据,叫做键(Key),另一个是要存放的数据,叫做值(Value) 。在字典中,键值对作为一个整体被存放,我们可以通过键来快速获取到对应的值 。
在中字典用花括号({})来表示,键值对以 键:值 的方式写入花括号中,有多个键值对时用逗号分隔 。
如 {'010': '', '021': ''} 便是一个字典,其中包含两个键值对
使用时,我们可以通过 '010' 快速查询到其对应的值是 '' 。这就好比现实中的一本字典一样,通过拼音或偏旁来映射一个具体的字词,以此来实现字词的快速查找,而这个拼音或偏旁就相当于字典的键,而字词就相当于字典的值,它们在字典中是映射关系 。
字典中的键是有要求的,需要是不可变的类型,如元组、字符串、数字 。而字典中的值可以是任意类型 。字典本身是可变的,我们可以向其中添加、删除、修改键值对 。
因为字典不是序列,更不是有序的,所有它没有列表那样的索引,也不能保证每个键值对的存放次序 。
1、创建字典
创建空的字典
字典 = {}
>>>= {}
>>>
{}
创建包含键值对的字典
字典 = {键1:值1, 键2:值2, ..., 键N:值N}
如城市和其对应的电话区号:
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes
{‘’: ‘010’, ‘’: ‘021’}
2、字典键值对的添加
向字典中增加键值对
字典[键] = 值
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes[‘’] = '022’
>>> codes
{‘’: ‘010’, ‘’: ‘021’, ‘’: ‘022’}
使用这种方式时,若字典中没有这个键,则会创建这个键值对;若字典中原本已有这个键,则是修改键所对应的值 。
3、键值对的获取
通过键获取值
值 = 字典[键]
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes[‘’]
‘010’
注意若键不存在则将抛出异常:
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes[‘a’]
(mostcall last):
File “”, line 1, in
: ‘a’
通过键获取值( get 方法)
如果通过键获取值时不希望异常抛出,可以使用 get 方法,若键不存在,则直接返回 None 。
值 = 字典.get(键)
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes.get(‘a’)
>>>
返回的 None 代表什么都没有,所以没有任何值显示 。
也可以给 get 方法传递第二个参数作为默认值,使得键不存在时直接返回默认值 。
值 = 字典.get(键, 默认值)
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes.get(‘a’, ‘000’)
>>> ‘000’
判断字典中是否包含某个键
布尔值 = 键 in 字典
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> ‘’ in codes
True
>>> ‘’ in codes
False
获取所有键
键的列表 = 字典.keys()
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes.keys()
([‘’, ‘’])
获取到的所有键是以迭代器的形式存在,至于什么是迭代器我们将在之后的章节中介绍 。在这里我们可以用 list() 函数将迭代器转换为列表 。如下:
>>> list(codes.keys())
[‘’, ‘’]
获取所有值
值的列表 = 字典.values()
>>> codes = {‘’: ‘010’, ‘’: ‘021’}