2016-04-29 9 views
2

私はジェネレータにたくさんのデータを保存しています。リストを使わずにソートして、その過程でメモリを使い切っていきたいと思います。この方法でジェネレータをソートすることは可能ですか?私はこれを考えている時間があり、見た値をどこかに保存しなければ、それを行う方法を見つけることができません(または、それらを「部分的に」保存する方法があります)。私はグーグルで怠け者の並べ替えについて読んだことは素晴らしいアプローチですか?答えをありがとう!ジェネレータを使用してジェネレータをソートしますか?

編集:最終的な目的は、すべてのソートされたデータをファイルに書き込むことです。

PS:<>私の悪い英語について申し訳ありません

+0

データはどこから来ていて、どのような種類のデータですか? csvファイルとtxtファイルの – MohitC

+0

は、通常int、float、strsです。 – Zealot

+1

また、[外部ソートアルゴリズム](https://en.wikipedia.org/wiki/External_sorting)を調べることもできますが、これはどういう意味か分かりません。 – phg

答えて

1

あなただけのファイルシステム上でそれを並べ替えた後、非ソート順に出力ファイルにデータを書き込む必要があります。 Linuxの場合、これはsort(1)を使って簡単かつ非常に効率的に行われます。また、Pythonでやりたい場合は、csvsortを試してみてください。