E 'possibile mischiare solo (continua) parte di una data lista (o matrice in numpy)?Fissare primo elemento, mischiare il resto di un elenco/array
Se questo non è generalmente possibile, come per il caso particolare in cui il primo elemento è fisso mentre il resto della lista/matrice deve essere mescolate? Per esempio, ho una lista/array:
to_be_shuffled = [None, 'a', 'b', 'c', 'd', ...]
dove il primo elemento deve sempre rimanere, mentre il resto sta per essere mescolate più volte.
Un possibile modo è di mischiare prima l'intera lista e quindi controllare il primo elemento, se non è l'elemento fisso speciale (es. None
), quindi scambiare la sua posizione con quella dell'elemento speciale (che richiederebbe quindi una ricerca).
Esiste un modo migliore per fare questo?
Come ho scelto di implementare usando un array numpy, questa è la soluzione migliore nel mio caso.Altre soluzioni sono anche molto utili e spero che altri le trovino adeguate nei loro rispettivi casi d'uso. – skyork