SeouliteLab

[Python/파이썬] 람다(Lambda) 함수 사용 방법 본문

프로그래밍

[Python/파이썬] 람다(Lambda) 함수 사용 방법

Seoulite Lab 2024. 3. 1. 15:50

람다 함수는 익명 함수로, 한 줄로 간단하게 표현할 수 있습니다. 주로 함수를 한 번만 사용하고자 할 때 유용하게 사용됩니다. 이번에는 Python에서 람다 함수를 사용하는 방법을 살펴보겠습니다.

1. 기본적인 람다 함수

가장 간단한 형태의 람다 함수는 매개변수를 받아들이고 그 값을 반환하는 것입니다.

square = lambda x: x ** 2
print(square(5))  # 출력 결과: 25

위의 코드는 람다 함수를 사용하여 주어진 숫자의 제곱을 반환하는 예제입니다.

2. 조건부 람다 함수

람다 함수 내부에서 조건문을 사용하여 다른 동작을 수행할 수도 있습니다.

even_or_odd = lambda x: '짝수' if x % 2 == 0 else '홀수'
print(even_or_odd(6))  # 출력 결과: 짝수

위의 코드는 람다 함수를 사용하여 주어진 숫자가 짝수인지 홀수인지 판별하는 예제입니다.

3. 람다 함수를 인자로 사용하기

다른 함수의 인자로 람다 함수를 직접 전달할 수도 있습니다.

numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x ** 2, numbers)
print(list(squared))  # 출력 결과: [1, 4, 9, 16, 25]

위의 코드는 map 함수를 사용하여 리스트의 각 요소를 제곱하는 람다 함수를 적용하는 예제입니다.

4. 람다 함수를 정렬 함수로 사용하기

람다 함수는 정렬 함수로도 사용할 수 있습니다.

points = [(1, 2), (3, 1), (5, 3), (2, 2)]
points.sort(key=lambda x: x[1])
print(points)  # 출력 결과: [(3, 1), (1, 2), (2, 2), (5, 3)]

위의 코드는 두 번째 요소를 기준으로 점들을 정렬하는 예제입니다.

5. 람다 함수를 필터 함수로 사용하기

람다 함수는 필터 함수와 함께 사용하여 조건을 만족하는 요소만 필터링할 수도 있습니다.

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]

위의 코드는 주어진 리스트에서 짝수만 필터링하는 예제입니다.