input: def Matrix_Operations(lst1, lst2, operation):
      """Given two lists of lists representing matrices and an operation (add, 
      subtract, multiply, transpose), return the result of the operation on the 
      matrices. If the operation is 'transpose', ignore the second matrix.
      
      >>> Matrix_Operations([[1, 2], [3, 4]], [[5, 6], [7, 8]], 'add')
      [[6, 8], [10, 12]]
      >>> Matrix_Operations([[1, 2], [3, 4]], [[5, 6], [7, 8]], 'subtract')
      [[-4, -4], [-4, -4]]
      >>> Matrix_Operations([[1, 2], [3, 4]], [[5, 6], [7, 8]], 'multiply')
      [[19, 22], [43, 50]]
      >>> Matrix_Operations([[1, 2], [3, 4]], [], 'transpose')
      [[1, 3], [2, 4]]
      """
      
output:     if operation == 'add':
          return [[lst1[i][j] + lst2[i][j] for j in range(len(lst1[0]))] for i in range(len(lst1))]
      elif operation == 'subtract':
          return [[lst1[i][j] - lst2[i][j] for j in range(len(lst1[0]))] for i in range(len(lst1))]
      elif operation == 'multiply':
          return [[sum(lst1[i][k] * lst2[k][j] for k in range(len(lst2))) for j in range(len(lst2[0]))] for i in range(len(lst1))]
      elif operation == 'transpose':
          return [[lst1[j][i] for j in range(len(lst1))] for i in range(len(lst1[0]))]
      else:
          raise ValueError("Invalid operation")