Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,323

memoryerror python

12.12.2021, 12:05. Показов 2271. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте, получаю ошибку memoryerror, что это такое, читал - где-то напряг машину, возникает ошибка на строке
Python
1
s1 = s1.replace(new.replace('~', ''), '<SPAN STYLE="BACKGROUND-COLOR: yellow">' + new.replace('~', '') + '</SPAN>')
вроде безобидная..........может и нет..........
что может быть? может то, что выше есть
Python
1
if not f'''[{vl} {new}]''' in s2 + s3:
и s2 и s3 это большие текстовые данные, в тоже время in самый быстрый
я это могу проверить примерно так:
if val in list23:
но это же цикл.......
что подскажите? спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.12.2021, 12:05
Ответы с готовыми решениями:

MemoryError
здравствуйте, получаю ошибку MemoryError=Ошибка памяти на строке strings1 = strings1.replace(val.replace('~', ''), '&lt;SPAN...

Рекурсия: MemoryError: Stack overflow
Добрый день! from memory_profiler import profile import timeit import math import sys print(sys.getrecursionlimit()) ...

MemoryError при заполнении list
Задание Over The Road, в нем нужно вернуть адрес дома на противоположной улице, адреса вот так располагаются: 1| |6 3| |4 5| |2...

30
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
12.12.2021, 12:07
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
но это же цикл.......
Оператор in - тот же самый цикл под капотом.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,323
12.12.2021, 12:12  [ТС]
Цитата Сообщение от Arsegg Посмотреть сообщение
Оператор in - тот же самый цикл под капотом.
понял, переделал как сказал в посту № 1-на том же месте та же ошибка..........
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
12.12.2021, 12:23
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
s2 + s3
Так не складывай большие строки, например?
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,323
12.12.2021, 14:52  [ТС]
Цитата Сообщение от Arsegg Посмотреть сообщение
Так не складывай большие строки, например?
а как, эф строкой?

Добавлено через 11 минут
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
replace
или наличие двух в одной строке воду мутят?

Добавлено через 2 часа 1 минуту
разобрался, немного изменил ветвление и питон раздобрел, а вот это не понял
Цитата Сообщение от Arsegg Посмотреть сообщение
Оператор in - тот же самый цикл под капотом
то есть в тексте "аываыаыарагнцункакцуакцуаркцуршуц"
если надо найти "123"
он будет двигаться по одному знаку слева направо?
0
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
12.12.2021, 15:02
Ципихович Эндрю, да, при чем по всей коллекции.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,323
12.12.2021, 15:05  [ТС]
шаг 1
"аываыаыарагнцункакцуакцуаркцуршуц"
шаг 2
ываыаыарагнцункакцуакцуаркцуршуц"
шаг 3
"аываыаыарагнцункакцуакцуаркцуршуц"
и так до конца? бедненький.........
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.12.2021, 15:11
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
бедненький.
Ты еще не знаешь как регулярки работают...
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.12.2021, 15:16
Лучший ответ Сообщение было отмечено Ципихович Эндрю как решение

Решение

Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
получаю ошибку memoryerror
Ты делаешь много странных операций в одной строке.
Распиши все операции пошагово. Запусти код с memory profiler и узнаешь какая строка кушает память.

И зачем использовать f-string не по назначению? Операция интерполяции недешевая. И если ты туда пихаешь переменную размером с полгига, то это очень странный способ форматирования строк.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,323
12.12.2021, 15:24  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
И зачем использовать f-string не по назначению
то есть строго в print, и всё?
0
enx
 Аватар для enx
1189 / 765 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
12.12.2021, 15:33
Ципихович Эндрю, нет, то есть строго подумать, что приходит в этот принт.
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.12.2021, 15:36
Лучший ответ Сообщение было отмечено enx как решение

Решение

Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
то есть строго в print, и всё?
Я не знаю твоей задачи. Ты как всегда дал какой-то код, но не объяснил какая глобальная задача и зачем там все эти replace.

f-string это просто форматирование. Оно нужно, например, для логирования, когда мы хотим вывести строку в нужном нам формате, подставив туда какие-то переменные для извлечения значения.
Если ты пытаешься использовать f-string как какой-то масштабный шаблонизатор, то зря. Шаблонизаторы реализованы в отдельных (в основном, внешних) библиотеках.

Добавлено через 3 минуты
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
и так до конца?
Я имел ввиду сделать из твой строки
Python
1
s1 = s1.replace(new.replace('~', ''), '<SPAN STYLE="BACKGROUND-COLOR: yellow">' + new.replace('~', '') + '</SPAN>')
несколько строк, где в каждой ты отдельности выполняешь какую-то одну операцию замены, чтоб была видна логика.
2
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.12.2021, 16:33
Цитата Сообщение от Arsegg Посмотреть сообщение
Оператор in - тот же самый цикл под капотом.
Не всегда.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.12.2021, 18:39
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
но это же цикл.....
Да, как заметил Avazart, это верно только для числовых данных, где поиск вхождения будет обычным линейным перебором.
Для строк там используется combination of Boyer-Moore and Horspool. То есть как если бы мы использовали str.find
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.12.2021, 19:22
Я имел ввиду есть еще set и там будет константное время.

Добавлено через 5 минут
А да забыл заметить что это решение задачи похоже на "парсить HTML регулярками".
1
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
12.12.2021, 19:42
Цитата Сообщение от Avazart Посмотреть сообщение
Я имел ввиду есть еще set и там будет константное время.
Что насчет коллизий?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.12.2021, 20:05
Как бы и хеширование занимает время. Но это как бы не особо сравнимые затраты.
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
12.12.2021, 20:09
Avazart, ну не сказать, что прям несравнимые затраты: поиск в множестве из элементов с одним и тем же хешом ничем не отличается от поиска в связанном списке. Линия, она и в Африке линия.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.12.2021, 20:22
Так это один случай. А среднее время доступа будет сильно меньше.
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
12.12.2021, 20:48
Avazart, так речь ведь не об этом, а о цикле - поиск в бакете из одного и более элементов без цикла не произвести))

Добавлено через 4 минуты
Btw, вот имплементация. Константой это назвать - язык не повернется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.12.2021, 20:48
Помогаю со студенческими работами здесь

MemoryError при заполнении массива
Добрый день, столкнулся с MemoryError при заполнении массива данными. Действительно, получается очень большое количество, однако это...

Python cv2 сконвертировать Python многомерный массив в картинку
Python cv2, необходимо сконвертировать многомерный массив в картинку, например: Дано: , , ] Где каждые 3 значения - цвета пикселя...

DBSCAN MemoryError
Задача пропарсить лог запросов поисковика объемом в 500 метров и выделить запросы, связанные с просмотром телевидения. Решать решил в...

Python - момент истины. Python - как оружие возмездие против системы
Какие модули в python мне нужны для взлома баз данных? Перехвата информации? Внедрения в систему? Добавлено через 10 минут Хочу...

Cx_freeze python error in main script как исправить- Python
Пытался создать из .py .exe , но при запуске .exe получаю ошибку вот код setup.py from cx_Freeze import setup, Executable import os ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru