dict

dict是一个kv键值对,根据索引查找值。dict的key是根据hash算法计算

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}>>> d['Michael']95>>> d['Jack'] = 90>>> d['Jack']90>>> d['Jack'] = 88 #覆盖前面的值>>> d['Jack']88>>> 'Thomas' in d #判断key是否存在False>>> d.pop('Bob')75>>> d{'Michael': 95, 'Tracy': 85}和list比较,dict有以下几个特点:查找和插入的速度极快,不会随着key的增加而变慢;需要占用大量的内存,内存浪费多。而list相反:查找和插入的时间随着元素的增加而增加;占用空间小,浪费内存很少。set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

>>> s = set([1, 2, 3])>>> s{1, 2, 3} #实际上是乱序,元素多的时候可以看到>>> s = set([1, 1, 2, 2, 3, 3]) #过滤重复的元素>>> s{1, 2, 3}>>> s.add(4) #增加元素>>> s{1, 2, 3, 4}>>> s.add(4)>>> s{1, 2, 3, 4}>>> s.remove(4) #删除元素>>> s{1, 2, 3}