[NumPy-Tickets] [NumPy] #1433: numpy array captures 'in' statement when it shouldn't

NumPy Trac numpy-tickets@scipy....
Sun Sep 5 16:08:46 CDT 2010

#1433: numpy array captures 'in' statement when it shouldn't
  Reporter:  graik        |       Owner:  somebody    
      Type:  enhancement  |      Status:  closed      
  Priority:  normal       |   Milestone:              
 Component:  numpy.core   |     Version:  1.3.0       
Resolution:  wontfix      |    Keywords:  __contains__
Changes (by pv):

  * status:  reopened => closed
  * resolution:  => wontfix


 Well, this design decision has been in place since the beginning of Numpy,
 and revisiting it at this point requires reconsidering the reasons why it
 was put there in the first place. The correct forum for that discussion is
 the mailing list:


 Here are some related discussions:

   - http://article.gmane.org/gmane.comp.python.numeric.general/32820
   - http://article.gmane.org/gmane.comp.python.numeric.general/20556
   - http://article.gmane.org/gmane.comp.python.numeric.general/35923

 The main points to note are:

   - `some_array == 0` must return an array (otherwise, essentially all
 Numpy-using code will break)
   - `bool(some_array) == some_array.all()` cannot be used due to `if a !=
   - `bool(some_array) == some_array.any()` cannot be used since it leads
 e.g. to the issue with `__contains__`

 Since there is no obvious solution, a ValueError was decided to be the
 best choice.

 Note that the behavior of Numeric was not a "feature", which was
 reconsidered in Numpy. I don't know exactly in which version it was

Ticket URL: <http://projects.scipy.org/numpy/ticket/1433#comment:3>
NumPy <http://projects.scipy.org/numpy>
My example project

More information about the NumPy-Tickets mailing list