Python学习笔记2:字典类型

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

 

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

 

字典的创建方式:

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

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

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

 

字典的遍历:

for key indic.keys():

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

 

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

 

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

 

字典可以通过dic[key] = value 的方式增加或者更新键值,通过del dic[key]的方式删除某一条目,通过dic.clear()或者del dic 删除整个条目,通过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的程序猿笔记


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值