Вы можете процедурно создать список индексных кортежей и использовать его, но, возможно, вы получаете кодовую константу, которая слишком велика, чтобы быть эффективной. [(0,0), [(1,0), (0,1)], (1,1)],
Так что вам нужна функция для генерации этих индексов на лету для n- массив измерений.
Для одного измерения, тривиальный счет / приращение
[(0),(1),(2),...]
Для второго, используйте стратегию одного измерения для первого измерения, уменьшите первое и увеличьте второе до заполните.
[(0...)...,(1...)...,(2...)...,...]
[[(0,0)],[(1,0),(0,1)],[(2,0),(1,1),(0,2)],[...],...]
Обратите внимание, что некоторые из них будут находиться за пределами массива примеров. Ваш генератор должен будет включать проверку границ.
Затем три измерения, дать первым двум измерениям обработку как указано выше, но в конце уменьшите первое измерение, увеличьте третье, повторяйте до тех пор, пока все не будет сделано Общий алгоритм заключается в том, что вы должны go генерировать индексы на лету, а не два больших массива конкурировать за кеш и ввод-вывод.
Создание python или его эквивалента оставлено пользователю в качестве упражнения.