Python中的dict和set

(本文参照廖雪峰的教程)

dict是python中的字典结构,采用key-value存储,具有很快的查找速度。

dict的定义:

                  D =  {'holiday': 95, 'benny': 85, 'jane': 75} 

      注意使用的是大括号{}   dict之所以有很快的查找速度是由于在存储时key和value就建立好了映射,在查找某一个值时可以直接根据key的值得到value的存放地址,所以无论dict有多大其查找的速度都是一样的。除了初始化时可以把数据放到dict之外,也可以采用赋值的方法,例:D['kevin'] = 97   如果key不存在话会报错。 确认key是否存在在dict中可以使用:

              ‘holiday’ in D     如果存在返回‘True’  如果不存在返回‘False’

另一种方法是通过dict提供的get方法:  D.get('jane')  如果不存在返回None,如果需要返回其他值使用D.get('jade', -1)

删除key的方法可以用pop的方法:D.pop('jane')   

需要注意的是:dict内部的存放顺序和key放入的顺序是没有关系的。

和list相比,dict具有的优点是:查表速度极快,缺点是:占用较大的内存。所以dict是一种用空间换时间的一种方式。

另一个需要注意的是:dict中的key是不可变的对象,因为查表采用hash方法,必须要保证key值对应唯一的位置,所以dict中的key可以是字符串和整数。定义dict时,如果key有重复,则会以后面的key-value值为准。例:D = 

set

set可以理解为没有value的dict。 set定义: s = set([1,2,3,4])     重复元素在set中会被自动过滤,也就是说如果是s = set([1,2,3,4,3]) 的结果仍然是{1,2,3,4}  向set中增加一个key可以用s.add(key)  删除使用remove函数

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值