title: Python shuffle such that position will never repeat
body: <p>I'd like to do a random shuffle of a list but with one condition:  an element can never be in the same original position after the shuffle.</p>
  <p>Is there a one line way to do such in python for a list?</p>
  <p>Example:</p>
  <pre><code>list_ex = [1,2,3]
  </code></pre>
  <p>each of the following shuffled lists should have the same probability of being sampled after the shuffle:</p>
  <pre><code>list_ex_shuffled = [2,3,1]
  list_ex_shuffled = [3,1,2]
  </code></pre>
  <p>but the permutations [1,2,3], [1,3,2], [2,1,3] and [3,2,1] are not allowed since all of them repeat one of the elements positions.</p>
  <p>NOTE:  Each element in the list_ex is a unique id.  No repetition of the same element is allowed.</p>