Если рандом выберет 2 то мы её сразу удаляем из списка, а потом снова рандом уже из 1 3 4
не надо ничег удалять. делаешь массив по числу разных значений (4), делаешь этому массиву shuffle - может есть в стандартной либе такое. если нет, то рандомно переставляешь местами числа в этом массиве.
все, у тебя есть массив с числами в случайном порядке. можно из него последовательно брать когда надо.