字典的主要特征如下:
1. 通过键而不是通过索引来读取
2. 字典是任意对象的无序集合
3. 字典是可变的,并且可以任意嵌套
4. 字典中的键必须唯一,不允许同一个键出现两次,如果出现两次,则后一个值会被记住
5. 字典中的键必须不可变
4.4.1 字典的创建和删除
创建字典时,在键和值之间使用冒号分隔,相邻两个元素使用逗号分隔,所有元素放在一对{}中,语法格式如下:
dictionary = { 'key1':'value1', 'key2':'value2', ..., 'keyn':'valuen',}
同列表和元组一样,也可以创建空字典,创建方式如下:
dictionary = {} 或者 dictionary = dict()
1. 通过映射函数创建字典
语法如下:
dictionary = dict(zip(list1,list2))
zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。如果想获取元组,可以将zip对象使用tuple()函数转换为元祖,如果想获取列表,则可以使用list()函数将其转换为列表。
list1:一个列表,用于指定要生成字典的键。
list2:一个列表,用于指定要生成字典的值。如果list1和list2的长度不同,则与最短的列表长度相同。
2. 通过给定的关键字参数创建字典
语法格式如下:
dictionary = dict(key1 = value1,key2 = value2,...,keyn = valuen)
另外,还可以通过已经存在的元组和列表创建字典。例如:
另外,如果只是想删除字典的全部元素,可以使用字典对象的clear()方法实现。例如:
4.4.2 通过键值对访问字典
在Python中,访问字典的元素可以通过下标的方式实现,与列表和元组不同,这里的下标不是索引号而是键。例如:
在实际开发过程中,我们可能不知道当前存在什么键,所以需要使用if语句对不存在的情况进行处理,即设置一个默认值。
另外,在Python中推荐的方法是使用字典对象的get()方法获取指定键的值,语法格式如下:
dictionary.get(key[,default])
default:为可选项,用于指定当指定的“键”不存在时,返回一个默认值,如果省略,则返回None。
4.4.3 遍历字典
使用字典对象的items()方法可以获取字典的“键-值对”列表,语法格式如下:
dictionary.items()
想要获取具体的键值对,可以通过for循环遍历该元组列表。
如果想要获取具体的每个键和值,语法格式如下:
在Pyhthon中,字典对象还提供了values()方法和keys()方法,用于返回字典的“值”和“键”列表。
4.4.4 添加、修改和删除字典元素
向字典中添加元素的语法格式如下:
dictionary[key] = value
例如:
由于在字典中,键必须是唯一的,如果新添加的键与已存在的键重复,那么将使用新的值替换原来该键的值,这也相当于修改字典的元素。
当字典中的某一个元素不需要时,可以使用del命令删除。当删除一个不存在的键时,将抛出异常,需要避免。
4.4.5 字典推导式
使用字典推导式可以快速生成一个字典。例如我们可以使用下面的代码生成一个包含4个随机数的字典。