title: How can I shuffle a list with no repetition?
body: <pre><code>array1=[3, 7, 11, 12, 15, 5, 1, 4]
  array2=[14, 10, 9, 16, 2, 13, 6, 8]
  </code></pre>
  
  <p>I shuffled these arrays.</p>
  
  <pre><code>shuffled1 = sorted(array1, key=lambda k: random.random())
  shuffled2 = sorted(array2, key=lambda k: random.random())
  </code></pre>
  
  <p>However, I do not want the same numbers to come to the same indexes again. For example: 3 and 14 at index 0, 7 and 10 at index 1. I don't want these numbers to be reciprocal again. All numbers need to be couple with another number.</p>
  
  <p>For example:</p>
  
  <pre><code> shuffled1 =[1, 15, 4, 12, 7, 5, 3, 11]
   shuffled2 =[13, 8, 9, 14, 2, 16, 6, 10]
  </code></pre>
  
  <p>İf shuffled arrays not like this, shuffle again.</p>