인프런 커뮤니티 질문&답변

Hyeongwon Yun님의 프로필 이미지
Hyeongwon Yun

작성한 질문수

남박사의 파이썬 기초부터 실전 100% 활용

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

해결된 질문

작성

·

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)

위와 같이 작성해야 합니다.

Hyeongwon Yun님의 프로필 이미지
Hyeongwon Yun
질문자

이해했습니다.

reverse()는 리스트 자체를 뒤집는거군요.

감사합니다!

Hyeongwon Yun님의 프로필 이미지
Hyeongwon Yun

작성한 질문수

질문하기