我希望生成相对大量阵列的笛卡尔积,以跨越高维网格.由于高维度,不可能将笛卡尔积计算的结果存储在存储器中; 而是它将被写入硬盘.由于这种约束,我需要在生成中间结果时访问它们.到目前为止我一直在做的是:
for x in xrange(0, 10):
for y in xrange(0, 10):
for z in xrange(0, 10):
writeToHdd(x,y,z)
Run Code Online (Sandbox Code Playgroud)
除了非常讨厌之外,它不可扩展(即它需要我编写与维度一样多的循环).我试图使用这里提出的解决方案,但这是一个递归解决方案,因此很难在生成时动态获取结果.除了每个维度有一个硬编码循环之外,还有什么"整洁"的方法吗?