【发布时间】:2014-08-30 03:30:37
【问题描述】:
我希望生成相对大量数组的笛卡尔积以跨越高维网格。由于高维,无法将笛卡尔积计算的结果存储在内存中;而是将其写入硬盘。由于这个限制,我需要在生成中间结果时访问它们。到目前为止,我一直在做的是:
for x in xrange(0, 10):
for y in xrange(0, 10):
for z in xrange(0, 10):
writeToHdd(x,y,z)
除了非常讨厌之外,它是不可扩展的(即它需要我编写与维度一样多的循环)。我尝试使用here 提出的解决方案,但这是一个递归解决方案,因此很难在生成结果时即时获得结果。除了每个维度都有一个硬编码循环之外,还有什么“简洁”的方法可以做到这一点?
【问题讨论】:
标签: python arrays numpy cartesian-product