为什么集合比列表在Python中更大?
为什么在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 个回答
19
集合(set
)比列表(list
)占用更多内存,因为它需要存储所有元素的哈希表,以便能快速找到重复的元素等等。这就是为什么集合中的每个成员都必须是可哈希的(hashable
)。