dict
Python内置了字典dict,全称dictionary,在其他语言中也称为map,使用键-值存储,具有极快的查找速度。
dict根据key来计算value的存储位置,因此key必须不可变,这种根据key计算位置的算法称为哈希算法(Hash)。
获取值时,可以直接使用键作为索引,也可以使用get函数,指定索引和不存在时返回的值。使用in判断某个键值是否在dict中。删除时,使用pop(key)。
dict的对象必须是不可变对象,比如str,即使用了replace等函数,只会创建新字符串,不会改变原不可变对象。
>>> score={'Alice':95,'Bob':75,'Carl':85}
>>> score['Alice']
95
>>> print 'Bob' in score
True
>>> score.get('Bob')
75
>>> score.get('David',-1)
-1
set
set和dict类似,也是一组key的集合,但不存储value。和dict一样,set中没有重复的key。
使用add和remove函数进行插入和删除操作。使用&和|对两个set进行交和并操作。
>>> s=set([1,2,3])
>>> s
set([1, 2, 3])
>>> s=set([1,1,2,3])
>>> s
set([1, 2, 3])
#插入和删除
>>> s.add(4)
>>> s
set([1, 2, 3, 4])
>>> s.remove(4)
>>> s
set([1, 2, 3])
#交和并运算
>>> t=set([2,3,4])
>>> s&t
set([2, 3])
>>> s|t
set([1, 2, 3, 4])