擅长:python、mysql、java
<p>您的问题涉及基本Python语法和<code>numpy</code>特定细节的混合。在很多方面,列表是一样的,但并不完全一样。</p>
<p><code>arr[:, 0]</code>返回<code>arr</code>(视图)的第一列,<code>arr[:,0]=10</code>将该列的值设置为10。</p>
<p><code>arr[:]</code>返回<code>arr</code>(<code>alist[:]</code>返回列表的副本)。<code>arr[:]=arr2</code>执行就地替换;将<code>arr</code>的值更改为<code>arr2</code>的值。<code>arr2</code>的值将根据需要广播和复制。</p>
<p><code>arr=arr2</code>设置<code>arr</code>变量指向的对象。现在<code>arr</code>和<code>arr2</code>指向同一个东西(不管是数组、列表还是其他什么)。</p>
<p><code>arr[...]=arr2</code>在复制所有数据时也有效</p>
<p>在交互式会话中播放这些操作。尝试<code>arr2</code>形状的变体,以查看如何广播值。还要检查<code>id(arr)</code>以查看变量指向的对象。以及<code>arr.__array_interface__</code>来查看数组的数据缓冲区。这有助于区分视图和副本。</p>