• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

list.reverse() 출력에 대해서 질문있습니다.

23.02.11 09:09 작성 조회수 247

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()는 리스트 자체를 뒤집는거군요.

감사합니다!