title: How do I make a grid of empty lists in numpy that 'accepts' appending?
body: <p>I am trying to use numpy.append but something goes wrong and it just doesn't make sence to me anymore. Can someone explain why I am getting an error?</p>
  
  <pre><code>&gt;&gt;&gt; np.array([[], [], []]).shape
  (3, 0)
  
  &gt;&gt;&gt; a=[[], [], []]
  &gt;&gt;&gt; a[1].append(3)
  &gt;&gt;&gt; a
  [[], [3], []]
  
  &gt;&gt;&gt; b=np.array(a)
  &gt;&gt;&gt; b[0].append(3)
  array([[3], [3], []], dtype=object)
  </code></pre>
  
  <p>This is all logical to me, yet when I try the following it stops working.</p>
  
  <pre><code>&gt;&gt;&gt; c=np.array((3,0),dtype=object)
  &gt;&gt;&gt; c[0].append(3)
  AttributeError: 'int' object has no attribute 'append'
  
  ????
  &gt;&gt;&gt; np.empty((3,1))[0].append(3)
  AttributeError: 'numpy.ndarray' object has no attribute 'append'
  
  &gt;&gt;&gt; np.empty((3,0))[1].append(3)
  AttributeError: 'numpy.ndarray' object has no attribute 'append'
  
  &gt;&gt;&gt;np.empty((6,1),dtype=object)[0].append(3)
  AttributeError: 'numpy.ndarray' object has no attribute 'append'
  </code></pre>
  
  <p>Solved: <a href="https://stackoverflow.com/questions/33983053/how-to-create-a-numpy-array-of-lists">How to create a numpy array of lists?</a></p>