Как перемешать список, чтобы ни один из элементов не остался на прежнем месте?

Есть список, нужно перемешать его элементы случайным образом, причем так, чтобы ни один из элементов не остался на прежнем месте.


Ответы (2 шт):

Автор решения: Kromster

Простая реализация алгоритма Саттоло на языке Python

from random import randrange

def sattoloCycle(items):
    i = len(items)
    while i > 1:
        i = i - 1
        j = randrange(i)  # 0 <= j <= i-1
        items[j], items[i] = items[i], items[j]
    return

Взято с Вики - https://ru.wikipedia.org/wiki/Тасование_Фишера_—_Йетса#Алгоритм_Саттоло (там же я пояснения почему это работает)

→ Ссылка
Автор решения: Алексндр Босов
random_list = ['first_el','second_el','third_el']


print(set(random_list))
Попробуй сделать так.
или так 
import random
print(random.choice(random_list))
→ Ссылка