I'm curious - why does the sys.getsizeof
call return a smaller number for a list than the sum of its elements?
import sys
lst = ["abcde", "fghij", "klmno", "pqrst", "uvwxy"]
print("Element sizes:", [sys.getsizeof(el) for el in lst])
print("Sum of sizes: ", sum([sys.getsizeof(el) for el in lst]))
print("Size of list: ", sys.getsizeof(lst))
The above prints
Element sizes: [42, 42, 42, 42, 42]
Sum of sizes: 210
Size of list: 112
How come?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…