Если конечной целью является циклический перемешанный список , нет необходимости играть с цепочкой «цикл / срез, циклический / разбор».
Вы можете обогатить цель с помощью пользовательской функции генератора:
from random import shuffle
def cycle_shuffled(lst):
lst = lst[:]
while True:
shuffle(lst)
yield lst
lst = [1, 2, 3, 4]
gen = cycle_shuffled(lst)
print(next(gen)) # [3, 2, 4, 1]
print(next(gen)) # [1, 3, 4, 2]
print(next(gen)) # [2, 4, 3, 1]