如何迭代地将参数添加到函数中

How to iteratively add a parameter into a function

我有一个多维数组 results。每次当我增加参数 n 时,都会在数组 results 中创建更多条目,并且数组会变大。

随着 n 的每次增加,我需要对数组 results 执行函数 reshape(),这样就会有更多的参数添加到 reshape()每次 n 增加时函数。

例如,当 n=2 时:

n = 2
arr_multi_dim = results.reshape(nrows, ncols, nrows, ncols)

当 n=3 时:

n = 3
arr_multi_dim = results.reshape(nrows, ncols, nrows, ncols, nrows, ncols)

当 n=4 时:

n = 4
arr_multi_dim = results.reshape(nrows, ncols, nrows, ncols, nrows, ncols, nrows, ncols)

等等

n 的每个增量中,一组 nrowsncols 被添加到 reshape() 函数中。

如何编写函数、循环(或类似的东西),以便在我为 n 指定任何值时,将使用适当的 reshape() 函数?

非常感谢。

也许像这样?

results.reshape(*[nrows,ncol]*n)

它看起来像是 argument unpacking(别名星号操作员)的任务。我会这样做:

arr_multi_dim = results.reshape(*[nrows, ncols]*n)

[nrows, ncols]*2变成[nrows, ncols, nrows, ncols][nrows, ncols]*3变成[nrows, ncols, nrows, ncols, nrows, ncols]等等。