Anstatt die Liste selbst zu manipulieren kannst du auch per Zufall ein Element der Liste auswählen und es an eine neue Liste anhängen und aus der Ausgangsliste entfernen bis sie leer ist. Falls es am Ende der Liste nicht passen sollte, kannst du es für später drin lassen oder an eine passende Stelle in der neuen Liste einfügen.
Das ist das Erstes was mir eingefallen ist. Ich würde auch so machen.