Курс Python → Раздувающийся словарь в Python
Раздувающийся экземпляр словаря — это явление, которое может наблюдаться при работе с Python. Когда мы создаем несколько словарей и выводим их содержимое, мы можем заметить, что они становятся все больше и больше. Почему это происходит? Дело в том, что в CPython используется оптимизация, позволяющая повторно использовать один и тот же объект «keys» в нескольких словарях. Это было введено в PEP 412 с целью экономии памяти, особенно в случаях, когда ключи словаря повторяются в разных экземплярах.
Оптимизация, позволяющая повторно использовать объект «keys», полностью работает для словарей, но может быть отключена, если нарушаются определенные допущения. Например, если происходит изменение ключей в словаре, то оптимизация может быть отключена, и словарь начнет «раздуваться». Это происходит потому, что CPython больше не может повторно использовать объект «keys» из-за изменений в структуре словаря.
example_dict1 = {'a': 1, 'b': 2}
example_dict2 = {'c': 3, 'd': 4}
print(example_dict1)
print(example_dict2)
В данном примере мы создаем два словаря example_dict1 и example_dict2, каждый из которых содержит пары ключ-значение. При выводе содержимого этих словарей, мы можем увидеть, как они могут «раздуться» из-за оптимизации, применяемой в CPython. Это явление может быть наблюдаемо при работе с большим количеством словарей или при изменении ключей в словаре.
Другие уроки курса "Python"
- Сортировка в Python
- Методы list в Python
- Область видимости переменных
- Извлечение данных из JSON
- Генераторы в Python
- Разделение строк в Python
- Освоение Python
- Проблемы с dict в Python
- Установка максимального количества цифр
- enumerate() в Python для работы с индексами
- Добавление кнопки в tkinter
- Работа с модулем bisect
- Названия переменных
- Справка по импортированным модулям
- Глубокое копирование объектов
- Лямбда-функции в цикле
- Получение ID текущего процесса
- Удаление файлов и папок в Python
- Копирование словарей и списков в Python
- Объединение списков в Python
- Отправка поздравлений по дню рождения
- Метод join() для объединения элементов строки
- Декораторы в Python
- Удаление дубликатов из списка с помощью dict.fromkeys
- Извлечение новостей с newspaper3k
- Работа с YAML в Python
- Работа с кортежами
- Удаление знаков препинания в Python
- Измерение времени выполнения кода в Python
- Bootle — простой веб-фреймворк
- Работа с изображениями PIL
- Оператор обр. импликации
- Применение функции к списку
- Округление дробей в Python
- Работа с пользовательским вводом
- Генераторы в Python
- Работа с комплексными числами
- Списки: объединение, изменение
- Работа с рекламными данными в Pandas
- Преобразование чисел в восьмеричную строку
- Объединение объектов в Python
- Применение функции к элементам списка
- Значения по умолчанию в Python
- Копирование объектов в Python
- Работа с NumPy
- Преобразование PowerPoint в PDF.
- Итераторы в Python















