title: Keep track of caches in neural net
body: <p>I tried to implement a L-layer neural net model, based on Coursera deep learning course, but have a problem with adding cache into caches list. </p>
  
  <pre><code>caches = list.append(cache)
  </code></pre>
  
  <p>The course suggests using list.append() function. The rest of codes are as below:</p>
  
  <pre><code>def L_model_forward(X, parameters):
      """
      Implement forward propagation 
  
      Arguments:
      X -- data, numpy array of shape (input size, number of examples)
      parameters -- output of initialize_parameters_deep()
  
      Returns:
      AL -- last post-activation value
      caches -- list of caches containing:
                  every cache of linear_activation_forward() (there are L-1 of them, indexed from 0 to L-1)
      """
  
      caches = []
      A = X
      L = len(parameters) // 2   # number of layers in the neural network
  
      # Implement [LINEAR -&gt; RELU]*(L-1). Add "cache" to the "caches" list.
      for l in range(1, L):
          A_prev = A 
          ### START CODE HERE ### (≈ 2 lines of code)
          A, cache = linear_activation_forward(A_prev, parameters['W' + str(l)], parameters['b' + str(l)], activation = "relu")
          caches = list.append(cache)
          ### END CODE HERE ###
  
      # Implement LINEAR -&gt; SIGMOID. Add "cache" to the "caches" list.
      ### START CODE HERE ### (≈ 2 lines of code)
      AL, cache =  linear_activation_forward(A, parameters['W' + str(L)], parameters['b' + str(L)], activation = "sigmoid")
      caches = list.append(cache)    
      ### END CODE HERE ###
  
      assert(AL.shape == (1,X.shape[1]))
  
      return AL, caches
  </code></pre>
  
  <p>When I run the codes, <strong>here is the error</strong>:</p>
  
  <hr>
  
  <blockquote>
    <p>TypeError: descriptor 'append' requires a 'list' object but received a
    'tuple'</p>
  </blockquote>