我正在尋找生成相對大量數組的笛卡爾乘積以跨越高維網格。由於維數高,因此不可能將笛卡兒積計算的結果存儲在內存中;而是將其寫入硬盤。由於這個約束,我需要訪問生成的中間結果。我到目前爲止一直在做的是這樣的:維度不可知(通用)笛卡爾積
for x in xrange(0, 10):
for y in xrange(0, 10):
for z in xrange(0, 10):
writeToHdd(x,y,z)
其中,除了是很討厭的,是不可擴展(即,它會要求我寫的許多循環的尺寸)。我曾嘗試使用here提出的解決方案,但這是一個遞歸解決方案,因此很難在生成時即時獲取結果。除了每個維度有一個硬編碼循環之外,是否有任何「簡潔」的方式來做到這一點?
偉大的解決方案! – Jake0x32