Menu
Coddy logo textTech

요약 챌린지 - Lambda 정렬

Coddy Python 여정의 Logic & Flow 섹션에 포함된 레슨 — 78개 중 59번째.

람다 함수는 다양한 시나리오에서 정렬을 사용자 정의하기 위해 sorted() 함수와 함께 사용하면 매우 유용합니다. 다음은 몇 가지 예시입니다:

문자열을 길이순으로 정렬하기:

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# 출력: ['Bob', 'Alice', 'Diana', 'Charlie']

값을 기준으로 딕셔너리 정렬하기:

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# 출력: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]

절댓값으로 숫자 정렬하기:

numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# 출력: [-10, 15, -20, 25]

여러 기준으로 튜플 정렬하기:

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# 출력: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]
challenge icon

챌린지

쉬움

튜플 리스트 data를 인자로 받는 sort_tuples라는 이름의 함수를 생성하세요. data의 각 튜플은 문자열과 숫자의 두 가지 요소를 포함합니다. 이 함수는 sorted() 함수와 람다 함수를 사용하여 두 번째 요소(숫자)를 기준으로 튜플 리스트를 오름차순으로 정렬해야 합니다. 함수는 정렬된 튜플 리스트를 반환해야 합니다.

치트 시트

문자열을 길이순으로 정렬하기:

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# 출력: ['Bob', 'Alice', 'Diana', 'Charlie']

딕셔너리를 값 기준으로 정렬하기:

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# 출력: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]

숫자를 절댓값 기준으로 정렬하기:

numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# 출력: [-10, 15, -20, 25]

튜플을 여러 기준으로 정렬하기:

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# 출력: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]

직접 해보기

def sort_tuples(data):
    # 여기에 코드를 작성하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Logic & Flow의 모든 레슨