这一篇教程,我们来了解Python中的第四种数据结构–字典(dict)。
字典同样是一个序列,不过字典的元素是由key(键,可理解为关键字或名称)与values(值)组成。
就好像我们查字典,一个拼音对应着与之关联的一个或多个汉字,拼音就key,而对应的汉字就是values。
字典两侧和集合一样是大括号,其中每一个元素都是“key:values”的形式,并且每个元素间以逗号分隔。
例如:{‘yue’:[‘月’,’约’,’乐’],’ri’:’日’,’le’:’了’,’liao’:’了’}
字典中的值没有特定顺序,但必须用一个特定的键存储。
字典的键必须是不可变的数据类型,可以是数字、字符串或者元组。
说明:这种能够通过名称引用值的数据类型称做映射(Mapping),字典是Python中唯一内建的映射类型。映射的概念好像比较难懂,以我个人的理解,映射就是名称集合与值集合的对应关系。名称集合中每个名称都是唯一的(即Key不可重复),并有唯一的值(Key与Value相对应);值集合中,值可以是唯一的也可以是重复的,但每个值也只能有唯一的名称。
使用字典需要注意以下几点:
字典中不能够出现相同的键,但可以出现相同的值。
字典中的键不能够更改,但值可以更改。
字典的值可以为Python中的任何对象。
接下来,我们来看一下关于字典的相关操作。
1、创建字典
创建字典可以直接按格式创建,也可以使用dict()方法进行创建。
dict(**kwarg):参数**kwarg为可变关键字参数。
dict(mapping, **kwarg):参数mapping为映射函数。
dict(iterable, **kwarg):参数iterable为可迭代对象。
示例代码:
d = {} # 创建空字典
d = dict() # 创建空字典
d = {'yue':['月','约','乐'],'ri':'日','le':'了','liao':'了'} # 创建字典
d = dict(小楼='好帅', 小美='好美') # 通过可变参数创建字典
d = dict([('小楼','好帅'), ('小美','好美')]) # 通过可迭代对象(列表)创建字典
另外,还有一种字典的创建方式,通过fromkeys(seq,value)方法进行创建,参数seq为包含key的序列,参数value为key的默认值。
示例代码:
k = ['小楼',&