由于某种原因,我的 python 程序中需要一个四维矩阵,其尺寸为 10000x20000x4000x10。当我尝试在 python 中使用普通数组来实现它时,我发现这是不可能的,因为我的可用系统资源有限。管理此类大数据结构的最佳方法是什么?是使用数据库的唯一方法吗?
编辑:因为这取决于我的目标是什么,所以我将简要描述我在做什么。我正在尝试将 1 维背包问题扩展到 4 维。有 2 个矩阵保持和必须访问的解决方案。当我尝试用这个解决路由器的资源分配问题时,这两个矩阵如下所示:
keep = [[[[0 for x in xrange(CORE.cap + 1)*1000]for x in xrange(RAM.cap + 1)*1000]for x in xrange(NIC.cap + 1)*1000]for x in xrange(len(JOBS) + 1)]
solution = [[[[0 for x in xrange(CORE.cap + 1)*1000]for x in xrange(RAM.cap + 1)*1000]for x in xrange(NIC.cap + 1)*1000]for x in xrange(len(JOBS) + 1)]
这些矩阵中有很多 0,我每次都必须访问矩阵的每一行。