Что учить дополнительно? Логику что ли?
Неужели сложно обозначить шаги для решения задачи?
Нужно перемешать список. Что такое перемешать список? Это сделать так, чтобы элементы были на случайных местах. Что нужно сделать чтоб они были на случайных местах? Взять элемент и поменять его местами со случайным элементом. Что нужно чтоб выбрать случайное место? Взять функцию генерации случайных чисел и обозначить границы выборки случайных чисел.
Итого:
- Запускаем цикл от первого элемента до последнего
- Берём элемент, получаем случайное число в пределах размера массива
- Меняем местами текущий элемент и элемент под случайным числом
ВСЁ
И это работает почти с любой задачей