파이썬에서 정렬을 할 때 '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 |
파이썬에서 정렬을 할 때 '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 |