배열에서 2 개 요소 - 더 나아가 n 개 요소의 위치를 쉽게 교환 할 수 있습니까? Python에서 배열 요소 2 개를 교환하는 위치
나는 몇 가지 코드를 내놓았다,하지만 매우 추한 외모와 성능이 조금 나쁜해야합니다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 개의 요소 만 섞을 것입니다. 너는 어떤 생각을 가지고 있니?
이 내용을 컴파일하고 가장 빠른 이유에 대해 논의하려면 http://stackoverflow.com/questions/4554130/fastest-way-to-swap-elements-in-python-list를 참조하십시오. – dkamins
고맙습니다. 이것은 좀 더 예쁘고 dkamins가 지적한대로 더 빠릅니다. – jbssm