映射类型
字典类型{ }
1.相关概念
“键值对”是组织数据的一种重要方式,广泛用于当代大型信息系统中,如Web系统。键值对的基本思想是将“值”信息关联一个“键”信息,进而通过键信息查找对应的值信息,这个过程叫映射。
python语言中通过字典类型实现映射。
字典类型使用大括号{ }建立,每个元素是一个键对值,使用方式如下:
{<键1>:<值1>,<键2>:<值2>,...,<键n>:<值n>}
其中,键和值通过英文冒号连接,不同的键值对通过英文逗号隔开。
从python设计角度考虑,由于大括号{ }可以表示集合,所以字典类型也具有和集合类似的性质,即键值对之间没有顺序且不能重复。可以简单地把字典看成元素是键值对的集合。
不能重复:如果键相同,只输入1个,如果键不同值相同,不影响,都会输入。
{ }:表示空字典类型。
2.字典的索引
索引是按照一定顺序检索内容的体系。列表类型采用元素顺序进行索引。而字典元素“键值对”中,键是值的索引,因此,可以直接利用键值对关系索引元素。字典中键值对的索引模式如下(采用中括号格式);
< 值 > = < 字典变量 > [ <键> ]
注意:字典类型没办法直接通过值进行索引。
3.字典类型的操作
操作函数 | 描述 |
len(d) | 字典d的元素个数(长度) |
min(d) | 字典d中键的最小值 |
max(d) | 字典d中键的最大值 |
dict( ) = {} | 生成一个空字典 |
4.字典的操作方法
字典类型存在一些操作方法,使用语法形式是:
<字典变量>.<方法名称> (<方法参数>)
操作方法 | 描述 |
d.keys( ) | 返回所有的键信息,返回结果是python的一种内部数据类型 dict_keys,专用于表示字典的键。 如果想要更好地使用返回结果,可以将起转换为列表类型。 |
d.values( ) | 返回所有的值信息,返回结果是python的一种内部数据类型 dict_values,专用于表示字典的值。 |
d.items( ) | 返回所有的键值对,返回结果是python的一种内部数据类型 dict_items。 如果想要更好地使用返回结果,可以将起转换为列表类型,键值对以元组类型表示。 |
d.get(key,default ) | 键存在则返回相应值,否则返回默认值default。 |
d.pop(key,default ) | 键存在则返回相应值,同时删除键值对,否则返回默认值default。 |
d.popitem( ) | 随机从字典中取出一个键值对,以元组(key,value)形式返回,同时将该键值对从字典中删除。 |
d.clear( ) | 删除所有的键值对,清除字典,返回None |
<变量>[“键”]=新改的值
练习题
1.以下程序的输出结果是( )。
names=['小明','小红','小白','小新']
if '小明朋友' in names:
print('存在')
else:
print('不存在')
A.存在
B.不存在
C.程序错误
D.不确定
2.以下创建字典方式错误的是( )。
A.d= {1: [1,2],3: [3,4]}
B.d= { [1,2]:1,[3,4]:3}
C.d={(1,2):1,(3,4):3}
D.d= {1:'张三' ,3: '李四' }
3.以下说法中错误的是( )。
A.浮点数 0.0 等于False,条件判断为假
B.空字典对象不等于 False,条件判断为真
C.值为0的任何数字类型元素相当于 False,条件判断为假
D空字符串对象相当于 False,条件判断为假
4.以下程序输出结果是( )。
A.4 B.5 C.8 D.以上都不对
5.以下选项中不能创建一个字典的是( )。
A.d={[1,2,3]:'python' } B.d={ }
C.d={(1,2,3):'python' } D.d={ 3:5}
6.以下程序输出结果是( )。
A.2 B.5 C.7 D.10
7.以下数据类型属于不可变类型的是( )。
A.列表 B.复数 C.字典 D.元组
8.将一个字典内容添加到另外一个字典中的方法是( )。
A.update( ) B.keys( ) C.items( ) D.get( )
9.列表类型中pop( )的功能是( )。
A.删除列表中的第一个元素 B.返回并删除列表中第一个元素
C.删除列表中最后一个元素 D.返回并删除列表中最后一个元素
- a和b是两个列表,将他们的内容合并为列表c的方法是( )。
A.c=a.update(b) B.a.update(b) C.c=[a,b] D.c=a+b