--------------以下部分摘自While老师的教学资料
字典:
字典一个元素呈键值对的形式,以逗号分割,以大括号包围的无序的,可以修改的序列。
字典是python基础数据类型当中唯一一个映射关系的数据类型通常对应JSON
定义:
Zip函数:将几个序列对应索引位上的元素分到一个元组当中,形成一个列表,子元组的个数取决于最短序列的长度
由于字典无序,所以我们定义字典和字典生成之后的元素的顺序是不同的
dict
{}
Fromkeys 以后面的序列的元素为键,默认值为None的字典
字典的特点:
因为字典是无序的,所以字典没有索引值,
因为字典没有索引值,所以字典以键取值,(字典的键相当于列表的索引)
因为字典以键取值,所以字典的键唯一且不可修改,
因为字典的键不可修改,所以列表和字典不可以给字典做键。
字典的方法
字典的取值 |
keys |
获取字典所有的键 |
values |
获取字典所有的值 |
|
get |
以键取值,如果指定键不存在,默认返回None,可以指定返回内容 |
|
update |
更新指定键的内容,如果键不存在,创建 |
|
setdefault |
设置默认,如果键存在,返回值,如果键不存在,创造键,值默认为None,值也可以自定义 |
|
items |
返回字典键值呈元组形式的格式 |
字典的删除 |
pop |
弹出,返回并删除指定键对应的值 |
popitem |
随机弹出一个键值元组,这里随机的原因是因为字典无序 |
|
clear |
清空字典 |
|
字典的判断 |
has_key |
判断指定的键是否在字典当中,即将被废除,之后我们用in |
视图模式 |
viewitems |
视图模式的主要特征是与字典保持同步,在我们python基础部分不做深入研究 |
viewkeys |
||
viewvalues |
||
迭代模式 |
Iteritems |
在python2.4版本之后,为了提高python运行效率python提出了迭代器、生成器、装饰器的定义,而字典的迭代模式正式去用了迭代器原理, 当我们直接调用的时候,我们只能得到一个内存地址,当我们具体想要取值的时候,需要借助next方法 |
Iterkeys |
||
itervalues |
copy 浅拷贝,进行浅拷贝
在python当中,浅拷贝指的是拷贝对象和被拷贝对象的嵌套部分指向统一的内存。
|
str |
list |
tuple |
dict |
是否有序 |
是 |
是 |
是 |
否 |
是否可修改 |
不 |
可 |
不 |
可 |
方法多少 |
很多 |
一般 |
很少 |
较多 映射关系 |