私は次の辞書構造を持っています(リストのリストによって形成される値を持つ10,000個のキー)
my_dic ={0: [[1,.65,3, 0, 5.5], [[4, .55, 3, 0, 5.5] ...(10,000th value)[3,.15, 2, 1, 2.5]],
1:[[1,.65,3, 0, 5.5], [[4, .55, 3, 0, 5.5] ...(10,000th value)[3,.15, 2, 1, 2.5]] .....
10,000th key:[[1,.65,3, 0, 5.5], [[4, .55, 3, 0, 5.5] ...(10,000th value)[3,.15, 2, 1, 2.5]]}
(注:データはダミーなので、キー全体で繰り返しました)
小さい要素リストで必要な論理データ型は次のとおりです。
inner_list = [int, float, small_int, boolean( 0 or 1), float]
Asys.getsizeof(inner_list)
は、サイズが56
バイトであることを示しています。12
int キーにバイトを追加すると、68
バイトになります。今、私は10^8
そのようなリスト(10000 * 10000)を持っているので、メモリへの保存が大きな問題になりつつあります。メモリ内のデータが必要です(現時点ではDBはありません)。それを保存する最も最適化された方法は何ですか?何か関係があるに違いないと思う傾向がありますがnumpy
、何が最善の方法であり、それをどのように実装するかについてはわかりません。助言がありますか ?
2)また、これらの辞書をメモリに保存しているので、使い終わったらすぐにそれらが占有しているメモリをクリアしたいと思います。Pythonでこれを行う方法はありますか?