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

마광운님의 프로필 이미지
마광운

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 데이터 구조 - 리스트2

reverse함수 사용 시..

작성

·

250

2

아래와 같이 reverse함수를 사용해서 내림차순 정렬을 시키면, 결과값이 이상하게 출력됩니다.

-----------------------------------------

numbers2 = [2,8,5,4]

print(numbers2)

numbers2.reverse()

print(numbers2)

 

결과값 : [4, 5, 8, 2]

-----------------------------------------

str1 = ['abc','ghi','def']

print(str1)

str1.reverse()

print(str1)

 

결과값 : ['def', 'ghi', 'abc']

--------------------------------------------

대체 이유가 뭘까요..?

답변 2

2

안녕하세요.

reverse() 함수는 리스트의 순서를 뒤바꾸는 함수입니다. 리스트 내의 각 아이템을 정렬하는 함수는 아닙니다.

그래서,

 

그래서, [2, 8, 5, 4] 리스트를 reverse() 함수를 호출하면, 

맨 뒤에 있는 4, 그 다음 뒤에 잇는 5, 그 다음 8, 그 다음 2 와 같이 순서를 뒤에서부터 앞으로 바꾸기 때문에

[4, 5, 8, 2] 와 같이 저장되는 것입니다.

 

말씀해주신 두번째 예도 이 부분을 이해하시면 동일합니다. 

감사합니다.

0

reverse함수는 정렬해주는 함수가 아니군요. 덕분에 정보 알아갑니다. 감사합니다!

마광운님의 프로필 이미지
마광운

작성한 질문수

질문하기