<p>您只需逐个运行命令并分析其输出:</p>
<ul>
<li><p>创建第一个<code>[0, 35]</code>编号的列表。在</p>
<pre><code>>>> r = np.arange(36)
>>> r
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35])
</code></pre></li>
<li><p>将列表的形状改为<code>6 x 6</code>数组:</p>
<pre><code>>>> r.resize(6,6) # equivalent to r = r.reshape(6,6)
>>> r
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29],
[30, 31, 32, 33, 34, 35]])
</code></pre></li>
<li><p>将向量<code>r</code>重塑为1维向量</p>
<pre><code>>>> tmp = r.reshape(36)
</code></pre>
<p>上面的<code>tmp</code>与第一步中的<code>r</code>完全相同</p></li>
<li><p>过滤每个元素</p>
<pre><code>>>> tmp[::7]
array([ 0, 7, 14, 21, 28, 35])
</code></pre>
<p>切片/索引表示为<code>i:j:k</code>,其中<code>i = from</code>,<code>j = to</code>和{<cd10>}。因此,<code>5:10:2</code>将意味着从第5元素到第10元素的<em>,每2步给我元素</em>。如果<code>i</code>不存在,则假定它从数组的开头开始。如果<code>j</code>不存在,则假定它一直存在到数组的末尾。如果<code>k</code>不存在,则假定其步长为1(范围内的所有元素)。</p></li>
</ul>
<p>有了以上所有内容,您可以在一行中重写示例:</p>
<pre><code>>>> np.arange(36)[::7]
</code></pre>
<p>或者如果您已经有了<code>r</code>,它是N维的:</p>
<pre><code>>>> r.ravel()[::7]
</code></pre>
<p>这里<code>ravel</code>将返回<code>r</code>(首选<code>reshape(36)</code>)的1维视图。在</p>
<p>如果您想了解有关切片的更多信息,请参阅<a href="https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html" rel="nofollow noreferrer">numpy documentation</a>。在</p>