私は、迅速な処理と大量のデータを含むプログラミング課題に取り組んでいます。私は、数値範囲の可能な順列のリストを生成し、それらを検索しようとしています。127ミルのエントリーで13ギガのラムを取り上げる:どのように?
コード:
def generate_list(numA, numB):
combo = list(range(0, numB))
permutation_list = list(itertools.permutations(combo, numA))
print("initial dictionary length: " + len(permutation_list))
問題はAが6であり、Bが25のとき、私のプログラムは非常に遅くなり、RAMの膨大な量を占めるということです。それは約13ギグで覗いた。リストの長さはおよそ127ミルであり、各オブジェクトの長さは6です。これは約750メガのメモリで、13ギガではありません。どうしたの?
編集:データは単なる数字です。 [[0,1,2,3,4,5]、[0,1,2,3,4,6]、...]
どの挑戦ですか?説明とデータにアクセスする方法はありますか? – ppasler
データは単なる数値です。だから[[0,1,2,3,4,5]、[0,1,2,3,4,6]、...] – Smipims
私は誤りを起こした。私が辞書をタイプしたところでリストを意味しました – Smipims