Python学习笔记2:字典类型

来源:互联网 发布:spss数据分析教程 编辑:程序博客网 时间:2024/05/17 03:29

python中唯一的映射类型是字典类型。它是通过hash表的方法实现的键值对的集合(内部无排序),可以通过键很快的查找到值得内容,并可以通过吊桶实现hash冲突的差异化。

 

一个字典类型可以表示为 key : value这种形式,键值不可以是表达式,不支持序列中的拼接、重复这样类似操作。字典支持在一个字典中的主键类型不一致,但是不支持一个键对应多个值,在创建时可以定义多个相同键的条目,但只有最后一个生效。

 

字典的创建方式:

1.直接赋值: dic = { [key:value] }, []中的内容可以从0到无数个。

2.工厂方法赋值: dic =dict((['aa',1],['bb',2]))

3.创建值相同的键(默认值为None):dic = {}.fromkeys(('x','y'),-1)

 

字典的遍历:

forkey indic.keys():

print('key = %s,value = %s' % (key,dic[key]))

 

dic[key]如果key为空,则报错,需要提前用has_key()判断。

 

字典支持的运算符有查找运算符([] )和关系运算符(in,not in)

 

字典可以通过dic[key] = value的方式增加或者更新键值,通过deldic[key]的方式删除某一条目,通过dic.clear()或者deldic删除整个条目,通过dic.pop(key)的方式清楚某一个条目并返回此条目的值。

 

字典的比较方式cmp(dict1,dict2):两字典的大小,再比键,再比较值。注意的是:cmp()函数在3.6版本中已经被取消。

 

可以通过len()取得字典的大小

 

通过hash()可以获得一个对象的哈希值,若不可hash则报错,就不可作为键,例如表达式。通过表达式符号对两个对象进行比较运算,如果是相等的,那么他们的hash值必然相同,对自己写的对象可以重载__hash__()方法来达到自己想要的效果。

 

另外常见的内建函数:

dict1.update(dict2)

dict2的内容更新到dict1

dict.copy()

返回dict的一个浅拷贝

 





*欢迎大家关注我的个人微信公众号学习更多相关的知识:Opportunity_s

欢迎提出宝贵意见!

Opportunity的程序猿笔记


0 0