Рубрики
Без рубрики

Один простой трюк, чтобы уменьшить использование вашей памяти в Python

СОДЕРЖАНИЕ ИНТРЕ СПИСОК ПОЛНОСТЬЮ ПОЛНОСТЬЮ ПОЛНОСТЬЮ ВНЕШНУЮ ПЫБЫ … Tagged с Python, начинающими.

  1. вступление
  2. Список понимания
  3. Понимание генератора

вступление

Python является окончательным «получением вещей» языка, где вы можете так легко писать код и не беспокоиться о производительности и памяти. Однако после того, как ваша программа станет большим, использование большого объема памяти может значительно замедлить вашу программу. Один простой способ уменьшить использование памяти и ускорить ваши программы для Переключите список списков в целесообразности генератора .

Давайте рассмотрим это простым примером программы, чтобы подвести диапазон номеров.

Список понимания

Код:

import sys
my_large_list = [i for i in range(100000)]
print(sum(my_large_list))
print(f"My list is {sys.getsizeof(my_large_list)} bytes")

Вывод:

4999950000
My list is 824456 bytes

Понимание генератора

Мой код часто заполняется большим количеством списков, где вместо этого мы могли вместо этого использовать генераторы. Генераторы работают как списки, за исключением того, что они оцениваются «лениво», поэтому значения схватываются при необходимости.

Все, что нам нужно сделать, это использовать фигурные брекеты на все нашему нашему списку.

Код:

import sys
my_large_generator_list = (i for i in range(100000))
print(sum(my_large_list))
print(f"My generator is {sys.getsizeof(my_large_generator_list)} bytes")

Вывод:

4999950000
My list is 112 bytes

Как мы видим, оба дают один и тот же результат, однако генератор использует только фракцию памяти (112 байт вместо 824456). Когда у вас есть сотни списков, плавающих в вашем коде, переключение их к генераторам – это простой способ сохранить в памяти и увеличить скорость вашей программы:).

Оригинал: “https://dev.to/connormcshane/one-simple-way-to-reduce-your-memory-usage-in-python-cdp”