Лучший способ обработки большого списка словарей в Python

Я выполняю статистический тест, который использует 10000 перестановок в качестве нулевого распределения.

Каждая из перестановок – это 10 000 ключевых слов. Каждый ключ представляет собой ген, каждое значение представляет собой набор пациентов, соответствующих гена. Этот словарь программно сгенерирован и может записываться и считываться из файла.

Я хочу иметь возможность перебирать эти перестановки для выполнения моего статистического теста; однако сохранение этого большого списка в стеке замедляет мою производительность.

Есть ли способ сохранить эти словари в сохраненной памяти и получить перестановки, когда я перебираю их?

Спасибо!

One Solution collect form web for “Лучший способ обработки большого списка словарей в Python”

Это общая вычислительная проблема; вам нужна скорость хранящихся в памяти данных, но не хватает памяти. У вас есть по крайней мере следующие варианты:

  • Купите больше ОЗУ (очевидно)
  • Пусть процесс обменивается. Это оставляет OS для решения, какие данные хранить на диске и хранить в памяти
  • Не загружайте все в память сразу

Поскольку вы выполняете итерирование по вашему набору данных, одним из решений может быть загрузка данных лениво:

def get_data(filename): with open(filename) as f: while True: line = f.readline() if line: yield line break for item in get_data('my_genes.dat'): gather_statistics(deserialize(item)) 

Вариант состоит в том, чтобы разделить ваши данные на несколько файлов или сохранить ваши данные в базе данных, чтобы вы могли одновременно обрабатывать ваши данные по n элементам.

  • get keys соответствуют значению в словаре
  • эффективный способ удержания и обработки большого dict в памяти в python
  • Как преобразовать список данных в Python в словарь, где каждый элемент имеет ключ
  • Неожиданные представления с плавающей запятой в Python
  • Как преобразовать этот текстовый файл в словарь?
  • добавить в список в defaultdict
  • Как построить defaultdict из словаря?
  • Значение параметра Python optparse
  •  
    Interesting Posts for Van-Lav

    Обновление большого количества объектов в хранилище данных в Google App Engine

    Как изменить название в Odoo 10?

    безопасно указывая предложение «order by» из пользовательского ввода в python / postgresql / psycopg2

    Подавлять вызовы на печать (python)

    Использование кросс-платформенной платформы для python

    Перевернутый глиф: растровое изображение> SVG через autotrace> glyph через fontforge

    Сокеты Python Errno 107: Конечная точка транспорта не подключена

    Выберите начальный цвет в цветовой палитре matplotlib

    SWIG Python – обертывание функции, которая ожидает двойной указатель на структуру

    Добавление ManyToManyWidget в обратную сторону ManyToManyField в Django Admin

    Расшифровать WhatsApp crypt12

    вопрос о переменных связывания postgresql

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

    Как извлечь все значения определенного ключа из списка словарей?

    Любая альтернатива (очень медленная) глубокая копия в DFS?

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