해결된 질문
작성
·
357
1
안녕하세요. 남박사님.
list() 데이터 구조에서 reverse() 메서드의 결과값이 이해가 안되서 질문을 남기게 되었습니다.
a=[4,5,6,1,2,3]
a.sort()
print(a)
b=[4,5,6,1,2,3]
b.reverse()
print(b)
[1, 2, 3, 4, 5, 6]
[3, 2, 1, 6, 5, 4]
sort()는 정방향 정렬, reverse()는 역방향 정렬이라고 배웠는데요. 역방향 정렬의 결과값이 제가 생각했을 때는 [6,5,4,3,2,1]로 출력되어야 할것 같은데 제 예상과는 반대로 [3,2,1,6,5,4]로 출력되고 있습니다. 왜 그런지 궁금합니다.
답변 1
1
b=[4,5,6,1,2,3]
b.reverse()
print(b)
위 코드에서의 reverse()는 b변수에 담긴 값을 기준으로 정렬을 하는게 아니라 b요소의 위치값을 기준으로 역정렬을 하게 됩니다. 따라서 3,2,1,6,5,4가 나오는게 맞습니다. 값을 기준으로 정렬 하려면
b.sort(reverse=True)
위와 같이 작성해야 합니다.
이해했습니다.
reverse()는 리스트 자체를 뒤집는거군요.
감사합니다!