Как я могу уменьшить использование памяти при фильтрации больших списков словарей в Python?"Python

Программы на Python
Ответить
Anonymous
 Как я могу уменьшить использование памяти при фильтрации больших списков словарей в Python?"

Сообщение Anonymous »

Я работаю над сценарием Python, который обрабатывает большие списки словарей (миллионы записей). Моя цель — отфильтровать список на основе условия (например, сохранить записи, в которых определенный ключ больше 10). Однако во время процесса фильтрации я сталкиваюсь с высоким использованием памяти. По мере увеличения размера списка значительно увеличивается использование памяти, и моя система выходит из строя, когда список превышает примерно 10 миллионов записей.
Я пробовал использовать понимание списков и , но оба метода приводят к чрезмерному потреблению памяти. Вот что я пробовал до сих пор:
Понимание списка:

Код: Выделить всё

filtered_list = [item for item in large_list if item['key'] > 10]
Использование map():

Код: Выделить всё

filtered_list = list(map(lambda x: x if x['key'] > 10 else None, large_list))
Несмотря на эти попытки, использование памяти значительно увеличивается с увеличением размера списков, что в конечном итоге приводит к сбою моей системы.
Есть ли более эффективный способ использования памяти фильтровать большие списки словарей в Python?

Подробнее здесь: https://stackoverflow.com/questions/792 ... es-in-pyth
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»