如何迭代地将参数添加到函数中
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
的每个增量中,一组 nrows
和 ncols
被添加到 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]
等等。
我有一个多维数组 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
的每个增量中,一组 nrows
和 ncols
被添加到 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]
等等。