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

lyz137님의 프로필 이미지
lyz137

작성한 질문수

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

자료구조 에러

작성

·

129

0

a = [ 1, 3, 5, 4, 2]

a.sort()

print(a)

해서 [1,2,3,4,5]가 나왔는데

print(a.sort())하면 None 이 나오네요... 이유를 알고싶습니다

답변 1

1

안녕하세요! python 공식 문서의

sorting 부분을 참고하시면 될 것 같습니다.

https://docs.python.org/ko/3/howto/sorting.html

질문자님께서 사용하신 list의 내장 함수인 list.sort( )는

대상 list 자체를 정렬하고, 함수의 반환값은 None입니다.

함수를 실행할때, 변하는건 list 자체이고, 함수 외부로, 즉 호출한

쪽으로 반환하는 의미있는 값은 없다는 뜻입니다.

이와 다르게 매개변수를 건네줘야하는 sorted( ) 함수는 

기존 list는 변경하지 않고, 정렬된 새로운 리스트를 반환합니다.

original_list = [1,5,3,2]

print(sorted(original_list)) 

-> [1, 2, 3, 5]

print(original_list)

-> [1, 5, 3, 2]

(유사질문)

검색어: list.sort

https://www.inflearn.com/questions/64395

lyz137님의 프로필 이미지
lyz137

작성한 질문수

질문하기