Есть ли простой способ поменять местами 2 элемента или, что еще лучше, n элементов в массиве?
Я придумал некоторый код, но он выглядит довольно уродливо, и производительность должна быть немного плохой:
chromo = [[1,2], [3,4], [5,6]]
gene1Pos = random.randrange(0, len(chromo)-1, 1)
gene2Pos = random.randrange(0, len(chromo)-1, 1)
tmpGene1 = chromo[gene1Pos]
tmpGene2 = chromo[gene2Pos]
chromo[gene1Pos] = tmpGene2
chromo[gene2Pos] = tmpGene1
Это должно сработать, но это нехорошо. Лучшим способом была бы процедура, такая как random.shuffle, но вместо того, чтобы смешивать все, смешивалось бы только число n элементов. Есть ли у вас какие-либо идеи?