Возможность ошибки памяти?

a=raw_input() prefix_dict = {} for j in xrange(1,len(a)+1): prefix = a[:j] prefix_dict[prefix] = len(prefix) print prefix_dict 

Есть ли вероятность ошибки памяти в приведенном выше коде? Этот код работает на сервере, а сервер – четырехъядерные процессоры Xeon с 32-разрядным Ubuntu (Ubuntu 12.04 LTS). Для немногих случаев его работа и для немногих его отображение ошибки памяти. FYI: Я не знаю случаев, которые они тестируют, но входные данные – это буквы нижнего регистра. Размер ввода <= 10000

2 Solutions collect form web for “Возможность ошибки памяти?”

Объем памяти только для данных для этого будет 1 + 2 + 3 … + n-2 + n-1 + n, где n – длина ввода, другими словами, len(a) . Это работает до (n + 1) * n / 2. Если n равно 10 000, это составляет около 50 МБ строковых данных, и, кроме того, большое количество ОЗУ используется в словаре python для хранения 10 000 записей. Тестирование в моем ящике OSX кажется минимальным и действительно, если я запускаю этот код на нем, процесс показывает 53,9 МБ:

 str = "a" d = {} for i in xrange(10000): d[str] = i str = str + "a" 

Я не вижу ничего плохого в вашем коде, и когда я запускаю его на строке длиной 10 000 символов, он с радостью выплескивает около 50 мб для вывода, поэтому что-то еще должно идти не так.

Что показывает top как использование памяти для процесса?

Возможно, меньшая часть кода поможет:

 prefix_dict = { a[:j]:j for j in xrange(1, len(a) + 1) } 
  • Использование профилирующей памяти в App Engine
  • Сколько памяти в массиве numpy? ОЗУ является ограничивающим фактором?
  • Ошибка памяти: numpy.genfromtxt ()
  • Python readlines () использование и эффективная практика для чтения
  • Как найти дубликаты файлов в большой файловой системе, избегая при этом MemoryError
  • Ошибка памяти при анализе большого файла - Python
  • Как Python обрабатывает память?
  • Использование высокой памяти с использованием многопроцессорности Python
  •  
    Interesting Posts for Van-Lav

    Промежуточные пробелы удалены на строках heredoc Python в PyCharm

    Является ли Python * с инструкцией *, точно эквивалентной блоку try – (except) – finally?

    Самый быстрый способ построения матрицы с пользовательской архитектурой

    Как изменить расположение оси «r» для полярного графика matplotlib?

    Получить формулу из ячейки Excel с помощью python xlrd

    Установка модуля pygame в anaconda mac

    Понимание случайного списка Python

    Существует ли ограничение на количество значений, которое может содержать набор python?

    Заполните столбец массива numpy другим массивом

    Как сократить этот код, не используя кучу операторов if

    Каковы все возможные расчеты, которые могут вызвать NaN в Python?

    Очистите веб-страницу, которая требует, чтобы они сначала открывали сессионный файл cookie

    Ошибка ctypes: ошибка libdc1394: не удалось инициализировать libdc1394

    Круглый Робин метод смешивания двух списков в python

    Получение файлов из аргумента Directory, сортировка по размеру

    Python - лучший язык программирования в мире.