Python: память / пространство различных структур данных одинаковой длины - PullRequest
0 голосов
/ 11 октября 2018

Если у меня есть 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
  1. Даже если они имеют одинаковую длину, они занимают различное количество байтов в памяти.
  2. Как может пустой наборзанимает больше памяти?!
  3. Еще более смущает то, что cdict3 - это то же количество байтов, что и остальные cdict с.Почему это так?
  4. Как вычислить эти значения вручную ?
...