为什么集合比列表在Python中更大?

13 投票
1 回答
779 浏览
提问于 2025-04-16 03:25

为什么在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)。

撰写回答