데이터 정렬은 프로그래밍에서 매우 일반적으로 사용되는 작업 중 하나입니다. 데이터를 정렬함으로써 검색, 비교 및 분석을 수행하기 쉽고 효율적으로 만들 수 있습니다.
Python에서는 데이터를 정렬하기 위해 다양한 방법을 제공합니다. 이번 글에서는 몇 가지 대표적인 정렬 알고리즘을 살펴보겠습니다.
1. 내장 함수를 사용한 정렬
Python 내장 함수인 sorted()
를 사용하면 매우 간편하게 리스트를 정렬할 수 있습니다. 이 함수는 원본 리스트를 변경하지 않고 정렬된 새로운 리스트를 반환합니다.
numbers = [5, 2, 9, 1, 8]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
위의 예제 코드는 numbers
리스트를 오름차순으로 정렬한 결과인 [1, 2, 5, 8, 9]
를 출력합니다.
2. 리스트의 sort()
메서드 사용
리스트 객체의 sort()
메서드를 사용하면 원본 리스트를 정렬할 수 있습니다. 이 메서드는 그 자체로 리스트를 정렬하고 반환값은 None입니다.
numbers = [5, 2, 9, 1, 8]
numbers.sort()
print(numbers)
위의 예제 코드는 numbers
리스트를 오름차순으로 변경하고, 정렬된 결과인 [1, 2, 5, 8, 9]
를 출력합니다.
3. 사용자 정의 정렬
정렬 기준에 따라 사용자가 원하는 대로 정렬할 수도 있습니다. 이를 위해 key
매개변수를 사용하여 정렬 기준을 지정할 수 있습니다.
students = [
{"name": "Amy", "age": 23},
{"name": "John", "age": 20},
{"name": "Emily", "age": 25}
]
sorted_students = sorted(students, key=lambda student: student['age'])
print(sorted_students)
위의 예제 코드는 students
리스트를 학생의 나이에 따라 오름차순으로 정렬합니다. 즉, sorted_students
리스트는 [{'name': 'John', 'age': 20}, {'name': 'Amy', 'age': 23}, {'name': 'Emily', 'age': 25}]
가 됩니다.
4. 정렬 순서 변경
위의 예제에서는 모두 오름차순으로 정렬하였지만, 내림차순으로 정렬하고 싶다면 reverse
매개변수를 사용하면 됩니다.
numbers = [5, 2, 9, 1, 8]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)
위의 예제 코드는 numbers
리스트를 내림차순으로 정렬한 결과인 [9, 8, 5, 2, 1]
를 출력합니다.
결론
Python에서는 sorted()
함수와 sort()
메서드를 사용하여 간단하게 데이터를 정렬할 수 있습니다. 추가적으로 사용자 정의 정렬을 위해 key
매개변수를 활용할 수도 있습니다. 이를 통해 다양한 데이터 정렬 요구에 효과적으로 대응할 수 있습니다.
참고 자료: Python 공식 문서