Why is the size of sets in Python noticeably larger than that of lists with same elements?
a = set(range(10000))
b = list(range(10000))
print('set size = ', a.__sizeof__())
print('list size = ', b.__sizeof__())
output:
set size = 524488
list size = 90088
The set
uses more memory than the list
as it stores a table of hashes of all the elements so it can quickly detect duplicate entries and so on. This is why every set member must be hashable
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With