Python/파이썬 심화

파이썬 시퀀스 (5)

monstro 2025. 8. 7. 20:57
728x90
반응형

- 개요

시퀀스를 정렬하는데 사용할 수 있는 sort 함수와 sorted 함수의 차이점에 대해서 알아본다

사용하는 시퀀스는 다음과 같다

humans = ["Kim", "Park", "Choi", "Kwon", "Han"]

 

1) sort 함수

print(f"Before sort() : {humans.sort()} / After sort() : {humans}")
print(f"Before sort() : {humans.sort(reverse=True)} / After sort() : {humans}")
print(f"Before sort() : {humans.sort(key=len)} / After sort() : {humans}")
print(f"Before sort() : {humans.sort(key=lambda x : x[-1])} / After sort() : {humans}")

 

sort 함수는 시퀀스로부터 호출한다

sort 함수는 정렬을 수행하되, 원본 객체직접 변경하므로 원본이 수정된다

코드는 위와 같이 구성하였다

  • 원본 / sort 함수 호출 이후의 원본
  • 원본 / sort 함수 호출 이후의 원본(역순으로 정렬)
  • 원본 / sort 함수 호출 이후의 원본(문자열의 길이 순서로 정렬)
  • 원본 / sort 함수 호출 이후의 원본(문자열의 마지막 알파벳 순서로 정렬)

 

 

실행해보면 원본이 수정되므로 원본은 모두 None으로 출력되는 것을 확인할 수 있다

sort 함수가 호출되어 수정한 이후로는 수정된 원본이 출력되는 것을 확인할 수 있다

 

2) sorted 함수

print(f"Use sorted() : {sorted(humans)}")
print(f"Use sorted() : {sorted(humans, reverse=True)}")
print(f"Use sorted() : {sorted(humans, key=len)}")
print(f"Use sorted() : {sorted(humans, key=lambda x : x[-1])}")
print(humans)

 

sorted 함수는 독립적으로 호출할 수 있다

sorted 함수는 sort 함수와는 다르게, 정렬을 수행하고 새로운 객체를 반환한다

따라서 원본수정하지 않는다

코드는 위와 같이 구성하였다

  • sorted 함수 호출
  • sorted 함수 호출(역순으로 정렬)
  • sorted 함수 호출(문자열의 길이 순서로 정렬)
  • sorted 함수 호출(문자열의 마직막 알파벳 순서로 정렬)
  • 원본 출력

 

 

실행 결과는 위와 같다

sorted 함수를 통해 정렬된 객체가 반환되어 원본에는 영향이 없음을 확인할 수 있다

728x90
반응형

'Python > 파이썬 심화' 카테고리의 다른 글

파이썬 시퀀스 (7)  (0) 2025.08.12
파이썬 시퀀스 (6)  (0) 2025.08.12
파이썬 시퀀스 (4)  (0) 2025.08.07
파이썬 시퀀스 (3)  (0) 2025.08.05
파이썬 시퀀스 (2)  (0) 2025.08.05