title: gotchas where Numpy differs from straight python?
body: <p>Folks,</p>
  
  <p>is there a collection of gotchas where Numpy differs from python,
  points that have puzzled and cost time ?</p>
  
  <blockquote>
    <p>"The horror of that moment I shall
    never never forget !"<br>
    "You will, though," the Queen said, "if you don't
    make a memorandum of it."</p>
  </blockquote>
  
  <p>For example, NaNs are always trouble, anywhere.
  If you can explain this without running it, give yourself a point --</p>
  
  <pre><code>from numpy import array, NaN, isnan
  
  pynan = float("nan")
  print pynan is pynan, pynan is NaN, NaN is NaN
  a = (0, pynan)
  print a, a[1] is pynan, any([aa is pynan for aa in a])
  
  a = array(( 0, NaN ))
  print a, a[1] is NaN, isnan( a[1] )
  </code></pre>
  
  <p>(I'm not knocking numpy, lots of good work there, just think a FAQ or Wiki of gotchas would be useful.)</p>
  
  <p>Edit: I was hoping to collect half a dozen gotchas (surprises for people learning Numpy).<br>
  Then, if there are common gotchas or, better, common explanations,
  we could talk about adding them to a community Wiki (where ?)
  It doesn't look like we have enough so far.</p>