擅长:python、mysql、java
<p>您可以<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.vectorize.html">vectorize</a>类的<code>__init__</code>函数:</p>
<pre><code>import numpy as np
class Site:
def __init__(self, a):
self.a = a
def set_a(self, new_a):
self.a = new_a
vSite = np.vectorize(Site)
init_arry = np.arange(9).reshape((3,3))
lattice = np.empty((3,3), dtype=object)
lattice[:,:] = vSite(init_arry)
</code></pre>
<p>这看起来更干净,但与循环解决方案相比没有性能优势。列表理解答案创建一个中间python列表,这将导致性能下降。</p>