Ist es möglich, nur einen (kontinuierlichen) Teil einer gegebenen Liste (oder eines Arrays in numpy) zu mischen?Erstes Element fixieren, den Rest einer Liste/eines Arrays mischen
Wenn dies nicht generell möglich ist, wie wäre es dann mit dem Spezialfall, bei dem das erste Element fixiert ist und der Rest der Liste/des Arrays neu gemischt werden muss? Zum Beispiel habe ich eine Liste/Array:
to_be_shuffled = [None, 'a', 'b', 'c', 'd', ...]
wo das erste Element sollte immer bleiben, während der Rest wiederholt werden neu gemischt werden.
Eine Möglichkeit besteht darin, die gesamte Liste zuerst zu mischen und dann das erste Element zu prüfen, wenn es nicht das spezielle feste Element ist (zB None
), dann seine Position mit der des speziellen Elements tauschen (was dann erforderlich wäre) ein Nachschlagen).
Gibt es einen besseren Weg, dies zu tun?
Wie ich mit einem Numpy-Array zu implementieren, ist dies die beste Lösung in meinem Fall.Andere Lösungen sind ebenfalls sehr hilfreich und hoffen, dass andere sie in ihren jeweiligen Anwendungsfällen für geeignet halten. – skyork