映射类型:字典 --映射类型是序列类型的一种扩展。元素之间是无序的,把键作为下标,因此键唯一
注:集合类型是具体的数据类型名称,而序列类型和映射类型是一类数据类型的总称。
1.字典的值可以为任一数据类型,键只能为不可变数据类型,可以使用元组,字符串,数值(整数,浮点数,复数)充当字典的键。
2.常考的使用字典作为参数的函数:
len(): 统计有多少个键
min(): 最小的键。max(): 最大的键 使用前提:键必须是同一种数据类型
>>> a={1:'12',3:'d'} >>> max(a) 3 | >>> b={'A':'1ee','1':'dwq'} >>> min(b) '1' | >>> c={(1,2,3):'1ee',(1,2,):'dwq'} >>> min(c) (1, 2) |
3.字典的方法:
方法 | 描述 |
d.keys() d.values() | 返回所有的键信息 ,值信息 (['小明', '小红', '小白']) |
d.items() | 返回所有的键值对 ([('201801', '小明'), ('201803', '小白')]) |
d.get(key, default) | 键存在则返回相应值,否则返回默认值 --无输出也不会报错 |
d.pop(key, default) | 键存在则返回相应值,同时删除键值对,否则返回默认值 |
d.popitem() | 随机从字典中取出一个键值对,以元组(key, value)形式返回 |
d.clear() | 删除所有的键值对 (除了字符串,元组没有) |
del d[<键>] | 通过键删除值 del d["201801"] |
<键> in d | 字典是否存在该键 |
注:
1.字典使用键取值时,如果键不存在会报错,而使用get方法通过键取值,如果键不存在也不会报错,若设置了default值,则会返回default值
d={('1',): 'dwq'} | |
>>> d.get(1) | >>> d[1] Traceback (most recent call last): File "<pyshell#51>", line 1, in <module> d[1] KeyError: 1 |
2.d.keys() d.values() d.items()都是一个迭代对象,可以使用list,tuple,set进行返回呈现对应数据类型。items是把一对键值对放在一个元组里,且还可以使用dict进行数据的返回
d={'A': '1ee', ('1',): 'dwq'} | |
>>> d.items() dict_items([('A', '1ee'), (('1',), 'dwq')]) >>> list(d.items()) [('A', '1ee'), (('1',), 'dwq')] >>> dict(d.items()) {'A': '1ee', ('1',): 'dwq'} | >>> set(d.keys()) {'A', ('1',)} >>> list(d.values()) ['1ee', 'dwq'] |
4.字典通过索引进行对字典进行增删改查
5.dict()只能用来生成空字典(唯一特性,不能把其他数据类型修改为字典)
6.创建字典时,可以使用花括号a={}建立,也可以使用dict()函数来建立
7.字典中可以嵌套字典
>>> set={12:"12",13:"13"}
>>> set[12]={14:14}
>>> set
{12: {14: 14}, 13: '13'}