Python 内置了字典(dict)的支持,dict 全称 dictionary,在其他语言中也称为 map,使用键-值(key-value)存储,具有极快的查找速度。字典是另一种可变容器模型,且可存储任 意类型对象。字典的每个键值对(key=>value)用冒号(:)分割,每对之间用逗号(,)分割,整个字典包括在花括号({})中 ,语法格式如下:
d = {key1 : value1, key2 : value2 }
列表中通过“下标数字”找到对应的对象。字典中通过“键对象”找到对应的“值对象”。 “键”是任意的不可变数据,比如:整数、浮点数、字符串、元组。但是:列表、字典、集合这些可变对象,不能作为“键”。并且“键”不可重复。“值”可以是任意的数据,并且可重复。
1 字典的创建
通过{}、 dict()来创建字典对象
通过 zip()创建字典对象
通过 fromkeys 创建值为空的字典
2 字典的访问
通过 [键] 获得“值
若键不存在,则抛出异常。
get 方法获取 key 对应的 value
get 方法用于从字典中获取 key 对应的 value。优点是:指定键不存在,返回 None;也 可以设定指定键不存在时默认返回的对象。推荐使用 get()获取“值对象”。
3 字典的常见操作
字典类似于列表,也可以进行增删改查等操作。就像其他内建类型一样,字典也有方法,这些方法非常有用。给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在, 则新增“键值对”。
字典添加、修改元素操作
字典 update 方法的使用
update 方法可以用一个字典中的元素更新另外一个字典。该方法接收一个参数。该参数表示用作更新数据的字典数据源。如果 key 有重复,则直接覆盖。
字典中元素的删除
可以使用 del()方法;或者 clear()删除所有键值对;pop()删除指定键值对,并返回对应的“值对象”。
popitem()方法用于随机删除和返回该键值对。字典是“无序可变序列”,因此没有第 一个元素、最后一个元素的概念;popitem 弹出随机的项,因为字典并没有"最后的元素"或 者其他有关顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效(因为不用首先获取键的列表)。
4 items 方法、keys 方法和 values 方法
items 方法用于返回字典中所有的 key-value 对。获得的每一个 key-value 对用一个元组表示。items 方法返回的值是一个被称为字典视图的特殊类型,可以被用于迭代(如使用在 for 循环中)。items 方法的返回值与字典使用了同样的值,也就是说修改了字典或 items 方法的返回值,修改的结果就会反应在另一方法上。keys 方法用于返回字典中所有的 key, 返回值类型与 items 方法类似,可以用于迭代。values 方法用于以迭代器形式返回字典中值的列表。
5 序列解包
序列解包可以用于元组、 列表、字典。序列解包可以让 我们方便的对多个变量赋值。
6 字典实现存储表格数据
7 enumerate() 函数
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引同时列出数据和数据下标,一般用在 for 循环当中。
enumerate() 方法的语法格式如下:
enumerate(sequence, [start=0])
其中 sequence 表示一个序列、迭代器或其他支持迭代对象;start 表示下标起始位置。