효율적으로 데이터 정렬하기
Coddy Python 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 48번째.
정렬은 컴퓨터 과학의 기본 작업이며, Python은 데이터를 효율적으로 정렬할 수 있는 강력한 내장 도구를 제공합니다. 정렬에 사용하는 주요 함수는 sorted()이며, 숫자, 문자열 및 더 복잡한 객체를 포함한 다양한 유형의 데이터를 정렬하는 데 사용할 수 있습니다.
기본 정렬:
sorted() 함수는 반복 가능한 객체(예: 리스트, 튜플 또는 집합)를 인수로 받아 정렬된 요소가 들어 있는 새 리스트를 반환합니다. 기본적으로 오름차순으로 정렬합니다.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
# 출력: [1, 1, 2, 3, 4, 5, 6, 9]이 예제에서 sorted()는 numbers 목록을 오름차순으로 정렬합니다.
역순 정렬:
내림차순으로 정렬하려면 reverse 매개변수를 사용하고 True로 설정하면 됩니다.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)
# 출력: [9, 6, 5, 4, 3, 2, 1, 1]여기서 sorted()는 numbers 목록을 내림차순으로 정렬합니다.
문자열 정렬:
sorted() 함수는 사전식 순서(즉, 사전에 나타나는 순서)를 기준으로 문자열도 정렬할 수 있습니다.
words = ["apple", "banana", "cherry"]
sorted_words = sorted(words)
print(sorted_words)
# 출력: ['apple', 'banana', 'cherry']이 예시에서 sorted()는 words 목록을 알파벳순으로 정렬합니다.
키 함수를 사용한 사용자 지정 정렬:
더 복잡한 정렬이 필요한 경우, key 매개변수를 사용하여 정렬 순서를 결정하는 함수를 지정할 수 있습니다. 정렬 전에 각 요소에 key 함수가 적용되며, 반환된 값이 비교에 사용됩니다.
words = ["banana", "kiwi", "fig"]
sorted_words_by_length = sorted(words, key=len)
print(sorted_words_by_length)
# 출력: ['fig', 'kiwi', 'banana']이 경우 sorted()는 len() 함수를 key로 사용하여 각 단어의 길이를 기준으로 words 목록을 정렬합니다.
챌린지
쉬움sorted() 함수를 사용하여 다음 정렬 작업을 수행하는 프로그램을 작성하세요.
- 숫자 목록을 오름차순으로 정렬하세요.
- 같은 숫자 목록을 내림차순으로 정렬하세요.
- 문자열 목록을 알파벳순으로 정렬하세요.
- 같은 문자열 목록을 길이에 따라 정렬하세요.
직접 해보기
# 시작용 입력값
numbers = [5, 3, 8, 1, 2]
words = ["elephant", "cat", "dolphin", "bee"]
# 과제 1: 숫자를 오름차순으로 정렬하기
# 과제 2: 숫자를 내림차순으로 정렬하기
# 과제 3: 단어를 알파벳순으로 정렬하기
# 과제 4: 단어를 길이순으로 정렬하기
# 각 과제에서 'None'을 작성한 코드로 바꾸기
ascending_numbers = None
descending_numbers = None
alphabetical_words = None
length_sorted_words = None
# 결과 출력하기
print("Ascending:", ascending_numbers)
print("Descending:", descending_numbers)
print("Alphabetical:", alphabetical_words)
print("By Length:", length_sorted_words)이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러