Hi Matt, <br><br>Actually, based on what is happening under the covers I think this behavior makes sense.<br><br>a['f2'] would in theory grab the whole column, and so 'f2' not existing is a field error.<br>

<br>a[0] on the other hand grabs the first row from the full structured array and treats this as (key, value) pair, much like a dictionary.  Thus when 'f2' doesn't exist in a[0]['f2'], it means it cannot find the key and is therefore an IndexError.<br>

<br>I hope this helps<br>Be Well<br>Anthony<br><br><div class="gmail_quote">On Tue, Mar 15, 2011 at 7:24 PM, Matthew Brett <span dir="ltr"><<a href="mailto:matthew.brett@gmail.com">matthew.brett@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi,<br>
<br>
I just wrote a short test for indexing into structured arrays with<br>
strings and found this:<br>
<br>
In [4]: a = np.zeros((1,), dtype=[('f1', 'i4')])<br>
In [5]: a['f1']<br>
Out[5]: array([0])<br>
In [6]: a['f2']  # not present -> error<br>
---------------------------------------------------------------------------<br>
ValueError                                Traceback (most recent call last)<br>
<br>
/Users/mb312/<ipython console> in <module>()<br>
<br>
ValueError: field named f2 not found.<br>
In [7]: a[0]['f1'] # OK<br>
Out[7]: 0<br>
In [8]: a[0]['f2']<br>
---------------------------------------------------------------------------<br>
IndexError                                Traceback (most recent call last)<br>
<br>
/Users/mb312/<ipython console> in <module>()<br>
<br>
IndexError: invalid index<br>
<br>
It seems odd to raise an 'IndexError' without a message about the<br>
field name in the second case, and a ValueError with a good message in<br>
the first.<br>
<br>
Do y'all agree?<br>
<br>
Matthew<br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div><br>