Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Python/파이썬] 리스트 정렬: sort()와 sorted()의 차이 본문
파이썬에서 리스트를 정렬하는 데에는 두 가지 방법이 있습니다: 리스트의 메서드인 sort()와 내장 함수인 sorted()입니다. 이 둘은 비슷해 보이지만 동작 방식과 사용 방법에 차이가 있습니다. 이번 글에서는 두 함수의 차이를 알아보고, 각각의 예제를 살펴보겠습니다.
sort() 메서드를 사용하여 리스트 정렬하기
my_list = [3, 1, 4, 1, 5, 9]
my_list.sort()
print(my_list) # 출력 결과: [1, 1, 3, 4, 5, 9]
sort() 메서드는 리스트 자체를 정렬하여 변경합니다. 따라서 원본 리스트가 정렬됩니다.
sorted() 함수를 사용하여 리스트 정렬하기
my_list = [3, 1, 4, 1, 5, 9]
sorted_list = sorted(my_list)
print(sorted_list) # 출력 결과: [1, 1, 3, 4, 5, 9]
sorted() 함수는 정렬된 새로운 리스트를 반환합니다. 따라서 원본 리스트는 변경되지 않습니다.
리스트 내림차순으로 정렬하기
my_list = [3, 1, 4, 1, 5, 9]
my_list.sort(reverse=True)
print(my_list) # 출력 결과: [9, 5, 4, 3, 1, 1]
sort() 메서드와 sorted() 함수는 reverse 인자를 통해 리스트를 내림차순으로 정렬할 수 있습니다.
sorted() 함수의 key 인자 활용하기
my_list = ['banana', 'apple', 'cherry']
sorted_list = sorted(my_list, key=len)
print(sorted_list) # 출력 결과: ['apple', 'banana', 'cherry']
sorted() 함수의 key 인자를 사용하여 정렬 기준을 지정할 수 있습니다. 이 예제에서는 문자열의 길이를 기준으로 정렬합니다.
sort() 메서드와 sorted() 함수의 시간 복잡도
import timeit
my_list = [3, 1, 4, 1, 5, 9]
def using_sort():
my_list.sort()
def using_sorted():
sorted(my_list)
print("sort() 메서드 시간:", timeit.timeit(using_sort, number=1000000))
print("sorted() 함수 시간:", timeit.timeit(using_sorted, number=1000000))
sort() 메서드와 sorted() 함수의 시간 복잡도 차이를 측정하는 예제입니다. sort() 메서드가 sorted() 함수보다 더 효율적입니다.
'프로그래밍' 카테고리의 다른 글
[Python/파이썬] map() 함수: 이터러블 객체에 함수 적용하기 (0) | 2024.03.06 |
---|---|
[Python/파이썬] Lambda 함수: 익명 함수 (0) | 2024.03.06 |
[Python/파이썬] Set 정렬하기 오름차순/내림차순 (0) | 2024.03.06 |
[Python/파이썬]리스트를 딕셔너리로 변환하기 (0) | 2024.03.06 |
[Python/파이썬] 수학 함수: min, max, sqrt, abs, pow (0) | 2024.03.06 |