Я работаю над сценарием 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