我对 Python 还是很陌生,所以如果这个问题很愚蠢,请原谅我。我无法通过谷歌找到答案...
我在我的代码中使用 PyFFTW,它有一个规划阶段,您可以在其中将两个变量(源/目标)传递给它,您可以从/到进行转换。然后,当您调用 FFT 时,它将在计划阶段这些变量所在的确切内存空间上运行。因此,对变量所做的任何操作都需要完成,以便这两个变量在内存中的位置不会改变。我找到了对标准数学运算符执行此操作的运算符 、 等*=
。+=
但是在我的程序中,我需要对变量应用一个函数,它应该将它返回到相同的内存位置。这该怎么做?!
我最初以以下方式使用切片:
a[:] = func(a)[:]
但是我刚刚意识到,这非常慢(我的代码慢了大约 10%)。那么有人知道该怎么做吗?
非常感谢任何帮助。提前致谢!