B07.파이썬 람다 함수

학습 목표

이번 강의에서는 람다 함수의 개념과 사용법을 배웁니다. 람다 함수를 활용하여 간단하고 즉석에서 사용할 수 있는 함수를 생성하는 방법을 익히고, 이를 다양한 상황에서 활용하는 능력을 기릅니다.

개념 설명

람다 함수는 '익명 함수'로, 이름이 없는 간단한 함수를 생성하는 방법입니다. 일반적인 함수를 작성할 때는 'def' 키워드를 사용하는 반면, 람다 함수는 'lambda' 키워드를 사용하여 정의됩니다. 람다 함수의 기본 구조는 다음과 같습니다:

lambda arguments: expression

람다 함수는 일반적으로 한 줄의 표현식으로 생성되며, 주로 짧은 함수를 필요로 하는 경우(예: 리스트 정렬 기준 함수 등)에 사용됩니다.

예제 코드

# 간단한 람다 함수 사용 예
add = lambda x, y: x + y  # 두 수의 합을 반환하는 람다 함수
print("3 + 5 =", add(3, 5))  # 결과: 8

# 람다 함수를 이용한 리스트 정렬
points = [(2, 3), (1, 2), (4, 1)]
# 두 번째 요소를 기준으로 정렬
sorted_points = sorted(points, key=lambda point: point[1])
print("y 좌표를 기준으로 정렬된 점들:", sorted_points)  # 결과: [(4, 1), (1, 2), (2, 3)]

# filter 함수를 사용한 예
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 리스트에서 짝수만 필터링
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print("짝수 리스트:", even_numbers)  # 결과: [2, 4, 6, 8, 10]

코드 설명

이 코드는 람다 함수의 기본 사용 사례를 보여줍니다.

  • 첫 번째 예제에서는 두 수를 더하는 간단한 람다 함수를 정의하고 호출하여 결과를 출력합니다.
  • 두 번째 예제에서는 점을 저장한 리스트를 y 좌표에 따라 정렬하는 과정에서 람다 함수를 사용합니다.
  • 세 번째 예제에서는 'filter()' 함수와 함께 람다 함수를 사용하여 리스트에서 짝수를 필터링하는 방법을 보여줍니다.

연습 문제

1. 두 수를 비교하여 큰 수를 반환하는 람다 함수를 작성하고, 이를 테스트하는 코드를 작성해 보세요.

2. 리스트에서 문자열의 길이를 기준으로 정렬하는 람다 함수를 작성해 보세요. 예를 들어, `["apple", "banana", "pear"]`를 정렬해야 합니다.

연습 문제 해답

# 1번 문제: 두 수를 비교하는 람다 함수
max_value = lambda x, y: x if x > y else y  # 큰 수 반환
print("큰 수:", max_value(10, 5))  # 결과: 10

# 2번 문제: 문자열 길이를 기준으로 정렬하는 람다 함수
fruits = ["apple", "banana", "pear", "grape"]
sorted_fruits = sorted(fruits, key=lambda fruit: len(fruit))
print("문자열 길이 기준으로 정렬된 과일:", sorted_fruits)  # 결과: ['pear', 'grape', 'apple', 'banana']
### 설명 - **람다 함수의 개념을 소개**하고, 일반 함수가 아닌 즉석에서 사용할 수 있는 간단한 함수를 정의하는 방법을 보여줍니다. - 람다 함수를 활용한 리얼월드 애플리케이션 예시를 통해 실제적으로 어떻게 활용할 수 있는지를 보여줍니다. - 연습 문제를 통해 사용자가 직접 람다 함수를 작성하고 테스트하는 데 필요한 경험을 쌓을 수 있도록 합니다.

댓글 쓰기

0 댓글