Python: lista aleatória, mas mantendo alguns elementos congelados
Eu tenho esse problema:
Existe uma lista de elementos de classeCAnswer
(não é necessário descrever a classe), e eu preciso embaralhá-lo, mas com uma restrição - alguns elementos da listaCAnswer.freeze
definido comoTrue
e esses elementos não devem ser embaralhados, mas permanecem em suas posições originais. Então, digamos, para uma determinada lista:
[a, b, c, d, e, f]
Onde todos os elementos são instâncias deCAnswer
, masc.freeze == True
e para outrosfreeze == False
, o resultado possível poderia ser:
[e, a, c, f, b, d]
Então, o elemento com índice 2 ainda está em sua posição.
Qual é o melhor algoritmo para alcançá-lo?
Agradeço antecipadamente :)