擅长:python、mysql、java
<p>不使用labmda的<a href="https://stackoverflow.com/a/51782355/4999991">ibarronds solution</a>的修改版本,适用于3以上的更高维度:</p>
<pre><code>import numpy as np
</code></pre>
<pre><code>def myfunc(*J):
return np.sqrt(np.prod(np.array(J)))
myfunc2=np.vectorize(myfunc)
D=(2,3,4,5)
np.fromfunction(function=myfunc2 , shape=D)
</code></pre>
<p><strong>请注意。</strong>不幸的是,他删除了他的答案,所以我将其复制到这里以供参考:</p>
<pre><code>creation_function = lambda *args: np.sqrt(np.prod(np.array([*args]), axis=0))
np.fromfunction(function=creation_function, shape=D)
</code></pre>