반응형
파이썬으로 알고리즘 문제들을 풀다보면 sort(), sorted()를 자주 이용하게 되는데 종종 헷갈리는 경우가 있어서 명확히 정리해보고자 이 글을 작성하게 되었습니다.
sort()는 리스트 메서드이고 sorted()는 파이썬 내장 라이브러리 함수입니다.
sort()는 원본 리스트를 정렬해주고 반환값은 None입니다.
sorted()는 원본 리스트에는 영향을 미치지 않고 원본 리스트를 정렬한 새로운 리스트를 반환해줍니다.
두 함수 모두 기본적으로 오름차순으로 정렬하도록 되어있습니다. 내림차순으로 정렬하고 싶다면 reverse = True를 사용하여 내림차순으로 정렬되도록 해줄 수 있습니다.
아래는 sort()의 예제코드입니다.
test = [5, 2, 7]
print(test) # [5, 2, 7]
# 오름차순(기본)으로 정렬
test.sort() # test(원본 리스트)를 정렬해줌. test.sort()의 반환 값은 None
print(test.sort()) # None
print(test) # [2, 5, 7]
# 내림차순으로 정렬
test.sort(reverse = True) # test(원본 리스트)를 정렬해줌. 마찬가지로 반환 값은 None
print(test.sort(reverse = True)) # None
print(test) # [7, 5, 2]
아래는 sorted()의 예제코드입니다.
test = [5, 2, 7]
print(test) # [5, 2, 7]
# 오름차순(기본)으로 정렬
sorted(test) # test(원본 리스트)에는 영향을 미치지 않고 정렬된 값을 '반환'함
print(sorted(test)) # [2, 5, 7]
# sorted()는 원본 리스트에 영향을 미치지 않기 때문에 test는 변화가 없음
print(test) # [5, 2, 7]
# 내림차순으로 정렬
sorted(test, reverse = True) # test(원본 리스트)에는 영향을 미치지 않고 정렬된 값을 '반환'함
print(sorted(test, reverse = True)) # [7, 5, 2]
# sorted()는 원본 리스트에 영향을 미치지 않기 때문에 test는 변화가 없음
print(test) # [5, 2, 7]
정리해보면 sort()는 원본 리스트에 영향을 주고 반환값은 None인 함수이고
sorted()는 원본 리스트에는 영향을 주지 않고 정렬된 리스트를 반환해주는 함수입니다.
반응형
'파이썬[Python]' 카테고리의 다른 글
파이썬[Python] 랜덤 팀 생성기(코드) (0) | 2022.01.26 |
---|---|
파이썬[Python] 기준을 정하여 정렬하기( with key=lambda) (0) | 2022.01.19 |
파이썬[Python] 리스트 내의 요소의 개수 구하기 / 리스트 내의 특정 요소의 개수 구하기 (0) | 2022.01.13 |
파이썬[Python] 재귀함수 횟수 제한 풀기(RecursionError 해결방법) (0) | 2022.01.10 |
파이썬[Python] 문자열 거꾸로 출력하는 법 3가지 (0) | 2022.01.08 |
최근댓글