擅长:python、mysql、java
<pre><code>In [42]: p = np.arange(1,11)
In [43]: p.shape
Out[43]: (10,)
In [44]: T = np.zeros((20,10,30,40),int)
</code></pre>
<p>如果我们将<code>p</code>扩展为(10,1,1)形状,则通过广播可以将其分配给<code>T</code>,扩展为(1,10,1,1),然后再扩展到<code>T.shape</code>:</p>
<pre><code>In [45]: T[:] = p[:,None,None]
</code></pre>
<p>要使用<code>tile</code>,首先将<code>p</code>扩展到4d</p>
<pre><code>In [48]: T2 = np.tile(p[None,:,None,None],(20,1,30,40))
In [49]: T2.shape
Out[49]: (20, 10, 30, 40)
In [50]: np.allclose(T,T2)
Out[50]: True
</code></pre>