我有以下字典结构( 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]
A sys.getsizeof(inner_list)
, 显示它的大小为56
字节。为 int 键添加12
字节使其成为68
字节。现在,由于我有10^8
这样的列表(10000*10000),它在内存中的存储正成为一个大问题。我想要内存中的数据(目前没有数据库)。存储它的最优化方法应该是什么?我倾向于认为它一定与numpy
但不确定什么是最好的方法以及如何实施它。有什么建议么 ?
2)另外,由于我将这些字典存储在内存中,所以我想在使用完它们后立即清除它们占用的内存。有没有办法在python中做到这一点?