Если у меня есть 4 переменные
import sys
c = {5,1,2,3}
carr = [5,1,2,3]
cdict1 = {1:1, 2:2, 3:3, 5:5}
cdict2 = {"one":1,"2":2, "3":3, "5":5}
cdict3 = {"one":1,"two":2, "three":3, "five":5}
print sys.getsizeof({}) # 280
print sys.getsizeof(c) # 232. WHAT?!
print sys.getsizeof(carr) # 104
print sys.getsizeof(cdict1) # 280
print sys.getsizeof(cdict2) # 280
print sys.getsizeof(cdict3) # 280
- Даже если они имеют одинаковую длину, они занимают различное количество байтов в памяти.
- Как может пустой наборзанимает больше памяти?!
- Еще более смущает то, что
cdict3
- это то же количество байтов, что и остальные cdict
с.Почему это так? - Как вычислить эти значения вручную ?