字典

字典是呈键值对的形式存在,以逗号分割,大括号包围的无序的,可以被修改的序列。它是基础数据类型中唯一一个映射关系的数据类型。

字典的定义

1zip                将几个序列对应索引位上的元素分到一个元组中,形成一个列表。新元组的个数取决于最短序列的长度

blob.png

注意:字典的排序是无序的,所以定义字典或者字典生成之后的元素顺序是不同的

2dict             

blob.png

3{}         直接定义

blob.png

4fromkeys             以后面序列的元素为键,默认值为None的字典,可以指定值

blob.png

字典的特点

1、  字典是无序的,所以字典没有索引值

2、  字典没有索引值,所以字典以键取值

blob.png

3、  字典以键取值,所以字典的键唯一且不可被修改,但是值可以修改

blob.png

4、  字典的键不可以被修改,所以列表和字典不可以做键

blob.png

字典的取值

1keys             获取字典所有的键

blob.png

2values         获取字典所有键的值

blob.png

3get               以键取值,如果该键不存在,默认返回None,也可以指定返回的内容

blob.png

4update        更新指定键的值,如果不存在,会在字典中插入这个不存在的键和值

blob.png

5setdefault           设置默认,如果键存在返回该键的值,如果不存在,创建这个键,默认返回None,也可以指定值

blob.png

6items          将键的对应值以元组的形式返回

blob.png

字典的删除

1pop              弹出,删除指定的键和其对应的值

blob.png

2popitem               随机弹出一对键值,这里的随机是因为字典是无序的,所以不存在按顺序弹出

blob.png

3clear            删除所有的字典内容

blob.png

字典的判断

1has_key               判断指定的键是否在字典中,这个方法将被in代替

blob.png

字典的模式

1、  视图模式

a)       viewitems

b)       viewkeys

c)       viewvalues

2、迭代模式:直接调用这三个模式时,只能得到一个内存地址,需要具体取值的话,需要借助next()来具体取值

  a)  iteritems

  blob.png

b)       iterkeys

blob.png

c)       itervalues

blob.png

字典的浅拷贝

copy          拷贝对象和被拷贝对象的嵌套部分指向同一块内存。

blob.png