[Python] 파이썬 정렬 - sorted(), sort() 분석 및 차이점

2023. 8. 13. 15:46· Python
목차
  1. 파이썬에서 정렬을 할 때 'sorted()' 함수와 'sort()' 메서드는 자주 사용되는 도구입니다. 두 방법 모두 비슷하게 작동하지만 주요 차이점이 있습니다.

파이썬에서 정렬을 할 때 'sorted()' 함수와 'sort()' 메서드는 자주 사용되는 도구입니다. 두 방법 모두 비슷하게 작동하지만 주요 차이점이 있습니다.

 

1. 기본 정보 :

  • 'sorted()' : 내장 함수입니다. 원본 리스트는 변경하지 않고 새로운 리스트를 반환합니다.
  • 'sort()' : 리스트 객체의 메서드입니다. 원본 리스트를 직접 수정하며, 반환값은 'None'입니다.

2. 적용 가능한 데이터 타입 :

  • 'sorted()' : 어떠한 이터러블도 인자로 받을 수 있습니다.(예: 리스트, 튜플, 문자열 등)
  • 'sort()' : 오직 리스트에서만 사용 가능합니다.

3. 성능 :

  • 'sorted()' : 정렬된 새로운 리스트를 반환하기 때문에 추가적인 메모리가 필요합니다.
  • 'sort()' : 기존의 리스트를 정렬하기 때문에 추가적인 메모리가 필요하지 않습니다.

 

4. 기본예시 : 

  • 'sorted()'
# sorted() 리스트 정렬 예시
a = [3, 1, 2]
b = sorted(a)
print(b)    # [1, 2, 3] 출력

# sorted() 문자열 정렬 예시
mystring = 'becdaef'
print(sorted(mystring))    # ['a', 'b', 'c', 'd', 'e', 'f'] 출력

 

  • 'sort()'
# 'sort()' 리스트 문자요소 정렬 예시
my_list = ['b', 'c' ,'a', 'd']
my_list.sort()
print(my_list)    # ['a', 'b', 'c', 'd'] 출력

# 'sort()' 리스트 숫자요소 정렬 예시
my_list_num = [5, 1, 3, 4, 2]
my_list_num.sort()
print(my_list_num)    # [1, 2, 3, 4, 5] 출력

 

 

 

5. 매개변수 :  두 방법 모두 'key'와 'reverse' 매개변수를 선택적으로 사용 가능(디폴트값은 오름차순)

  • 'key' 매개변수는 리스트의 각 요소에 적용되는 함수를 받아 정렬 기준으로 사용합니다. ( 'len', 'abs', 'str.lower', 사용자 정의함수 등)
  • 'reverse' 매개변수는 'reverse=True' 형식으로 적용하여 내림차순으로 적용
# 'sorted()' 예시
words = ['apple', 'banana', 'cherry', 'date', 'fig']
print(sorted(words, key=len, reverse=True)
# ['banana', 'cherry', 'apple', 'date', 'fig'] 출력

# 'sort()' 예시
words = ['apple', 'banana', 'cherry', 'date', 'fig']
words.sort(key=len, reverse=True)
print(word)    # ['banana', 'cherry', 'apple', 'date', 'fig'] 출력

 

 

 

정리하면, 원본데이터를 변경하지 않고 정렬된 값을  얻고 싶다면 'sorted()'를, 원본 데이터 자체를 변경하고 싶다면 'sort()'를 이용하면 됩니다.

'Python' 카테고리의 다른 글

[Python] 논리연산자 and, or, not 상세 작동방식  (0) 2023.10.08
[Python] 파이썬 정수 비트연산 (Feat.비트연산자)  (0) 2023.08.19
[Python] 문자열 내 특정 부분을 다른 문자열로 교체 - replace()  (0) 2023.08.13
[Python] 이터러블 객체를 입력받아 구성 요소들의 합을 반환 - sum()  (0) 2023.08.06
[Python] 문자열을 리스트로 변환  (0) 2023.08.02
  1. 파이썬에서 정렬을 할 때 'sorted()' 함수와 'sort()' 메서드는 자주 사용되는 도구입니다. 두 방법 모두 비슷하게 작동하지만 주요 차이점이 있습니다.
'Python' 카테고리의 다른 글
  • [Python] 논리연산자 and, or, not 상세 작동방식
  • [Python] 파이썬 정수 비트연산 (Feat.비트연산자)
  • [Python] 문자열 내 특정 부분을 다른 문자열로 교체 - replace()
  • [Python] 이터러블 객체를 입력받아 구성 요소들의 합을 반환 - sum()
Hyper_
Hyper_
하이퍼의 아카이브Hyper_ 님의 블로그입니다.
Hyper_
하이퍼의 아카이브
Hyper_
전체
오늘
어제
  • 분류 전체보기 (37)
    • Python (24)
    • Linux (6)
    • Network (3)
    • AWS (1)
    • Computer Science (1)
    • DB(SQL, NoSQL) (2)

블로그 메뉴

  • 글쓰기
  • 관리자
  • 홈
  • 방명록

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hyper_
[Python] 파이썬 정렬 - sorted(), sort() 분석 및 차이점
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.