为什么集合比python中的列表大?

时间:2010-08-28 17:29:08

标签: python list set

为什么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

1 个答案:

答案 0 :(得分:15)

set使用的内存比list多,因为它存储了所有元素的哈希表,因此它可以快速检测重复的条目,依此类推。这就是为什么每个集合成员都必须be hashable