2016-04-29 5 views
2

У меня много данных, хранящихся в генераторах, и я хотел бы сортировать их без использования списков, чтобы не выходить из памяти в процессе. Таким образом можно сортировать генераторы ?. У меня есть несколько часов, думающих об этом, и я не могу найти способ сделать это, не сохраняя замеченные значения где-нибудь (или есть способ их «частично» сохранить). Я читал в google о ленивой сортировке, это хороший подход? Спасибо за ответы!Сортировка генератора с помощью генераторов?

EDIT: Моя конечная цель - записать все отсортированные данные в файл.

PS: жаль мой плохой английский> <

+0

Где находятся данные и какие данные? – MohitC

+0

из файлов csv и txt, как правило, ints, floats, strs. – Zealot

+1

Возможно, вы также захотите изучить [внешние алгоритмы сортировки] (https://en.wikipedia.org/wiki/External_sorting), которые в наши дни кажутся как-то забытыми. – phg

ответ

1

Вы должны просто записать данные в свой выходной файл в не отсортированном порядке, затем отсортировать его в файловой системе. Если вы работаете в Linux, это легко и очень эффективно, используя sort(1). Или, если вы хотите сделать это в Python, попробуйте csvsort, который специально разработан для этого.

Смежные вопросы