Насколько заполняется словарь по объему
Python
Middle
Без компании
Насколько заполняется словарь по объему
Ответы
Размер словаря в Python зависит от количества элементов и их ключей/значений. Каждая запись занимает примерно 30-40 байт + память под ключи и значения.
Пример оценки размера:
```
import sys
d = {'a': 1, 'b': 2}
print(sys.getsizeof(d)) # Базовый размер
print(sys.getsizeof(d) + sum(sys.getsizeof(k) + sys.getsizeof(v) for k, v in d.items()))
```
Нюансы:
- Пустой dict занимает ~240 байт (накладные расходы)
- Каждый новый элемент добавляет ~30-40 байт
- При увеличении словаря Python резервирует память с запасом
- Размер зависит от версии Python (3.11+ оптимизировали словари)
Для экономии памяти можно использовать:
- `__slots__` в классах
- `array` или `namedtuple` для простых данных
- `sys.intern()` для повторяющихся строковых ключей