강의로 돌아가기
Junho Lee

list.reverse()에 대해 문의합니다

reversed.list1을 list1.reverse()을 통해 만드려고 했더니, list1.reverse()는 리턴값이 None이더라구요.

list1.reverse()를 하면 이 문구 자체가 역순으로 정렬된 list1이 될 거라 생각했는데 찾아보니 아니더군요.

list1.reverse()는 list1을 역순으로 정렬하여 바꾸는 기능을 수행할 뿐, 그 자체는 아무런 리턴값을 갖지 않는게 맞나요?

작성중인 코드―solution.py
1
2
3
4
5
6
7
8
9
list1 = list(range(20))

# new_list가 5, 8, 11, 14의 값을 가지도록 list1을 slice하세요
new_list = list1[5:15:3]
print(new_list)

# reverse_list가 17, 13, 9, 5의 값을 가지도록 list1을 slice하세요
reverse_list = list1[17:4:-4]
print(reverse_list)
1 개의 답변
Demi

네. list.reverse 는 메소드로써 해당 리스트를 역순으로 바꾸고 None을 리턴합니다.

따라서 이때에는 list.reverse 메소드가 아닌 reversed 함수를 쓰셔야합니다.
reversed(lst) 인자로 들어온 리스트, lst 를 역순한 리스트를 리턴하는데요. 이때, lst의 순서는 변경되지 않습니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.