(本文参照廖雪峰的教程)
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函数