Python 복습(10) : sort와 sorted의 차이점

STUDY_J·2024년 7월 14일

파이썬에서 sort()와 sorted()는 모두 리스트를 정렬하는 데 사용되지만, 중요한 차이점이 있습니다.
sort()는 리스트 객체의 메소드이며, sorted()는 내장 함수입니다.

sort()

원본 리스트를 직접 변경합니다. (in-place 정렬)
리턴값이 없습니다 (None을 반환합니다).
리스트 객체의 메소드로만 사용할 수 있습니다.

sorted()

새로운 정렬된 리스트를 반환합니다. 원본 리스트는 변경되지 않습니다.
리스트뿐만 아니라 반복 가능한(iterable) 모든 객체에 사용할 수 있습니다.

예시 코드

# 원본 리스트
numbers = [5, 2, 9, 1, 5, 6]

# sort() 메소드를 사용하여 정렬
numbers.sort()
print("정렬된 리스트 (sort()):", numbers)
# [1, 2, 5, 5, 6, 9]

# sorted() 함수를 사용하여 정렬
sorted_numbers = sorted(numbers)
print("정렬된 리스트 (sorted()):", sorted_numbers) # [1, 2, 5, 5, 6, 9]
print("원본 리스트:", numbers) # [5, 2, 9, 1, 5, 6]

sort와 sorted를 사용한 역순 정렬

reverse=True 옵션을 사용하여 역순으로 정렬할 수 있습니다.

reverse = True 를 사용한다.

# 원본 리스트
numbers = [5, 2, 9, 1, 5, 6]

# sort()를 사용하여 역순 정렬
numbers.sort(reverse=True)
print("역순 정렬된 리스트 (sort()):", numbers)

# 원본 리스트 복원
numbers = [5, 2, 9, 1, 5, 6]

# sorted()를 사용하여 역순 정렬
sorted_numbers = sorted(numbers, reverse=True)
print("역순 정렬된 리스트 (sorted()):", sorted_numbers)
print("원본 리스트:", numbers)


#역순 정렬된 리스트 (sort()): [9, 6, 5, 5, 2, 1]

#역순 정렬된 리스트 (sorted()): [9, 6, 5, 5, 2, 1]
#원본 리스트: [5, 2, 9, 1, 5, 6]

0개의 댓글