1、字典定义:
(1)字典是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据;
(2)字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。
(3)由于字典中的 key 是非常关键的数据,而且程序需要通过 key 来访问 value,因此字典中的 key 不允许重复
(4)程序既可使用花括号语法来创建字典,也可使用 dict() 函数来创建字典。实际上,dict 是一种类型,它就是 Python 中的字典类型;
(5)在使用花括号语法创建字典时,花括号中应包含多个 key-value 对,key 与 value 之间用英文冒号隔开;多个 key-value 对之间用英文逗号隔开
注意:元组可以做为字典的key值,但是列表不可以作为key值,这是由于 dict 要求 key 必须是不可变类型,但列表是可变类型,因此列表不能作为元组的 key
(6) 在使用 dict() 函数创建字典时,可以传入多个列表或元组参数作为 key-value 对,每个列表或元组将被当成一个 key-value 对,因此这些列表或元组都只能包含两个元素
2、字典的基本操作:
通过 key 访问 value
通过 key 添加 key-value 对,
通过 key 删除 key-value 对,使用del 语句:del dict2[key]
通过 key 修改 key-value 对
通过 key 判断指定 key-value 对是否存在
通过 key 访问 value 使用的也是方括号语法,就像前面介绍的列表和元组一样,只是此时在方括号中放的是 key,而不是列表或元组中的索引
注意:
1、如果要为 dict 添加 key-value 对,只需为不存在的 key 赋值即可
2、如果要删除宇典中的 key-value 对,则可使用 del 语句
3、如果对 dict 中存在的 key-value 对赋值,新赋的 value 就会覆盖原有的 value,这样即可改变 dict 中的 key-value 对
4、如果要判断字典是否包含指定的 key,则可以使用 in 或 not in 运算符。需要指出的是,对于 dict 而言,in 或 not in 运算符都是基于 key 来判断的
3、字典的常用方法:
字典由 dict 类代表,因此我们同样可使用 dir(dict) 来查看该类包含哪些方法
方法 | 说明 |
---|---|
clear() | 用于清空字典中所有的 key-value 对,对一个字典执行 clear() 方法之后,该字典就会变成一个空字典:dict1.clear() |
get() | 就是根据 key 来获取 value,它相当于方括号语法的增强版,当使用方括号语法访问并不存在的 key 时,字典会引发 KeyError 错误;但如果使用 get() 方法访问不存在的 key,该方法会简单地返回 None,不会导致错误:dict1.get(key) |
update() | 可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖;如果被更新的字典中不包含对应的 key-value 对,则该 key-value 对被添加进去:dict1.update(key:value) |
items()、keys()、values() | 分别用于获取字典中的所有 key-value 对、所有 key、所有 value。这三个方法依次返回 dict_items、dict_keys 和 dict_values 对象,Python 不希望用户直接操作这几个方法,但可通过 list() 函数把它们转换成列表 |
pop() | pop() 方法用于获取指定 key 对应的 value,并删除这个 key-value 对:dict1.pop(key) |
方法对应代码:
运行的结果:
pop()函数对应的代码: