title: Get all permutations of a numpy array
body: <p>I have a numpy array [0, 1, 1, 2, 2, 0, 1, ...] which only contains the numbers 0-k. I would like to create a new array that contains the n possible arrays of permutations of 0-k. A small example with k=2 and n=6:</p>
  
  <pre><code>a = [0, 1, 0, 2]
  permute(a)
  result = [[0, 1, 0, 2]
            [0, 2, 0, 1]
            [1, 0, 1, 2]
            [2, 1, 2, 0]
            [1, 2, 1, 0]
            [2, 0, 2, 1]]
  </code></pre>
  
  <p>Does anyone have any ideas/solutions as to how one could achieve this?</p>