众所周知,set的查询效率略优于dict,远远优于list。
但是,set和list的占用内存空间的具体对比情况是什么样呢?
我们写了这一段代码进行对比:
import sys
a={
}
b=set([])
for i in range(1000000):
print i
a[i]=1
b.add(i)
print 'space of dict',sys.getsizeof(a)
print 'space of set',sys.getsizeof(b)
最终的内存占用情况对比如下:
space of dict 50331920
space of set 33554656
set的内存占用比dict少了大概三分之一。