On 2014/05/07 2:14 PM, mfm24 wrote: > I'm having a problem I haven't seen elsewhere (and apologies if it has > been answered before). > > I see the following behavior (copied verbatim from a python session): > > Python 2.7.4 (default, Apr 6 2013, 19:55:15) [MSC v.1500 64 bit (AMD64)] on > win32 > Type "help", "copyright", "credits" or "license" for more information. >>>> import numpy as np >>>> x=[[np.zeros(10)] for i in range(10)] >>>> x.index(x[0]) > 0 >>>> x.index(x[1]) > Traceback (most recent call last): > File "", line 1, in > ValueError: The truth value of an array with more than one element is > ambiguous. Use a.any() or a.all() >>>> x[1].append(np.zeros(10)) >>>> x.index(x[1]) > 1 > > Any ideas why I see a ValueError when trying to find the index of a list > containing a single ndarray?
In the first example, indexing with 0, it checks the first entry in x, finds that it *is* the target, and so returns the first index, 0. In the second case, indexing with 1, it checks the first entry in x, finds that it is *not* the same object, so it checks to see if it has the same contents. This leads it to compare two ndarrays for equality, which leads to the ValueError. Eric > > -Matt > ------------------------------------------------------------------------ > View this message in context: List of arrays failing index(), remove() > etc > <http://numpy-discussion.10968.n7.nabble.com/List-of-arrays-failing-index-remove-etc-tp37544.html> > Sent from the Numpy-discussion mailing list archive > <http://numpy-discussion.10968.n7.nabble.com/> at Nabble.com. > > > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
