Как оптимизовать код при MemoryError?

Рейтинг: 0Ответов: 1Опубликовано: 07.01.2023

Есть такой код:

a = 565754545445
print([x for x in str(list(range(1, a + 1)))])

Если я попытаюсь его запустить, то получу:

>>> MemoryError

Знаю как исправить с помощью сторонних библиотек. Но есть ли вариант сделать это только с помощью базовых возможностей Python?

По большому счету, выводить весь этот лист не нужно. Нужно лишь узнать сколько раз в этом дипазоне встречается конкретная цифра, например 9. То есть вот так:

a = 100
print(len([i for i in str(list(range(1, a + 1))) if i == '9']))

Это работает для небольших чисел. Например, 100. Но хотелось бы понять, как сделать то же самое для огромных чисел.

Ответы

Ответов пока нет.