<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 5, 2013 at 2:27 PM, Nathaniel Smith <span dir="ltr"><<a href="mailto:njs@pobox.com" target="_blank">njs@pobox.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Thu, Sep 5, 2013 at 9:06 PM, Charles R Harris<br>
<<a href="mailto:charlesr.harris@gmail.com">charlesr.harris@gmail.com</a>> wrote:<br>
> This behavior is not new, it is also present in 1.6.x<br>
><br>
> In [1]: x = np.zeros(5, dtype=[('n', 'S1'), ('s', 'S1')])<br>
><br>
> In [2]: x['s'] = [c for c in 'abcde']<br>
><br>
> In [3]: x<br>
> Out[3]:<br>
> array([('', 'a'), ('', 'b'), ('', 'c'), ('', 'd'), ('', 'e')],<br>
>       dtype=[('n', '|S1'), ('s', '|S1')])<br>
><br>
> In [4]: x[0], x[1] = x[1], x[0]<br>
><br>
> In [5]: x<br>
> Out[5]:<br>
> array([('', 'b'), ('', 'b'), ('', 'c'), ('', 'd'), ('', 'e')],<br>
>       dtype=[('n', '|S1'), ('s', '|S1')])<br>
><br>
> In [6]: np.__version__<br>
> Out[6]: '1.6.3.dev-3f58621'<br>
><br>
> So it looks like it needs to be decided if this is a bug or not. I think the<br>
> returned scalars should be copies of the data.<br>
<br>
</div>I'm not a fan of the weird behaviour where for every other dtype,<br>
scalar indexing returns an immutable copy, but for voids it returns a<br>
mutable view. So +1 if we can do it.<br>
<br>
However, isn't this going to mess up stuff like<br>
  x[0]["n"] = "a"<br>
?<br>
<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br></div><div>Left and right are different, but I'm not sure how the assignment op handles that. So maybe no and maybe yes ;)<br><br></div>
<div>Chuck <br></div><br></div></div></div>