为什么
Python中的集合的大小明显大于具有相同元素的列表的大小?
a = set(range(10000)) b = list(range(10000)) print('set size = ',a.__sizeof__()) print('list size = ',b.__sizeof__())
输出:
set size = 524488 list size = 90088
解决方法
该集合使用比列表更多的内存,因为它存储所有元素的哈希表,以便它可以快速检测重复的条目等等.这就是为什么每个成员必须要
be
hashable
.