您的位置:首页 > 编程语言 > Python开发

python自学之字典

2015-10-27 08:26 295 查看
字典属于映射,也是唯一的一种内建的映射类型。(映射和数学中的映射类似,其他的语言中也有相应的类型,比如C++中的map,hash_table等)

字典在python中表示为{},其中每个元素都是键值对。如下:

d={'name':'chenjun','sex':‘male’}

字典的键是唯一的,且键可以是任意不可变的类型,即可以是元祖、数字和字符串等(不可以是列表)

如果存在相同的键,那么只会保存最后一个出现的键值对。(其实在字典中,是没有顺序可言的)

如同列表和元祖一样,字典也有相应的类型表示,即dict,我们可以用dict创建字典。

dict([('name',‘chenjun’),('sex','male')])

dict也可以采用关键字参数创建字典,如下:

dict(name='chenjun',sex='male')

字典的常见操作如下(其实和C++中的map类型的一些操作类似~):

d[k]表示取键值k对应的值,如果不存在键值k则引发keyError异常。

d[k] = v,将值v赋给键k对应的值,如果存在键值k,则相当于添加键值对(k,v)到字典d中。

del d[k],删除键值为k的项

k in d ,判断键k是否在字典的中,是则返回True,否则返回False。

注意到以上的操作都是以k为索引的。

字典的常见方法:

clear, 清空字典,原地操作,修改字典本身,返回值为None,相当于删除字典中所有的项。

copy,浅复制,返回具有相同键值的字典。(浅复制是什么?下一篇文章会简单介绍浅复制和深复制的含义和区别)

items,以列表的形式返回所有的键值对,列表中的每个元素是键值对组成的二元组。

iteritems,和items一样,不过返回的是迭代器。

fromkeys,用给定的键建立新的字典,默认字典的所有键对应的值为None,也可以指定值。

get,返回指定键对应的值,和索引操作作用一致,但是不同的是,如果键不存在不会引发异常,默认会返回None,也可以指定值。

has_key,顾名思义,就是判断给定的键是否存在,相当于用in判断。

keys,以列表的形式返回所有的键。

iterkeys,和keys一样,不过返回的是对应的迭代器。

values,以列表形式返回字典所有的值。

itervalues,和values相同,不过返回的是对应的迭代器。

setdefault,类似get,返回指定键对应的值,如果该键不存在,则可以设定相应的键值。

update,用一个字典更新另外一个字典,更新的原则就是”有则改之,无则加冕“。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: