티스토리 뷰

Python

[기초강의] 파이썬 람다 함수

4OurFuture 2024. 8. 13. 19:43
728x90
반응형

파이썬 람다 함수

파이썬에서 람다 함수는 간단하고 짧은 함수를 정의하는 데 매우 유용합니다. 일반적으로 함수는 def 키워드를 사용하여 정의하지만, 람다 함수는 lambda 키워드를 사용하여 한 줄로 간단하게 작성할 수 있습니다. 이번 글에서는 람다 함수의 기본 개념과 사용법, 그리고 다양한 예제를 통해 초보자도 쉽게 이해할 수 있도록 설명하겠습니다.

1. 람다 함수란?

람다 함수는 이름이 없는 익명 함수로, 주로 간단한 작업을 수행할 때 사용됩니다. 람다 함수는 한 줄로 작성되며, 다른 함수의 인자로 전달하거나 간단한 계산을 수행할 때 유용합니다.

1.1 람다 함수의 기본 문법

람다 함수는 다음과 같은 형식으로 정의합니다:

python

lambda 매개변수1, 매개변수2: 표현식
  • 매개변수: 함수에 전달할 입력값입니다.
  • 표현식: 함수가 반환할 결과를 정의하는 부분입니다.

2. 람다 함수 사용 예제

2.1 기본적인 람다 함수

아래는 두 숫자를 더하는 간단한 람다 함수입니다.

python

add = lambda x, y: x + y
result = add(3, 5)

결과:

 
8

2.2 리스트의 요소에 람다 함수 사용하기

람다 함수는 map() 함수를 사용하여 리스트의 모든 요소에 적용할 수 있습니다. 예를 들어, 리스트의 모든 숫자에 2를 곱하는 예제를 보겠습니다.

python

numbers = [1, 2, 3, 4, 5]
doubled = list(map(lambda x: x * 2, numbers))

결과:

 
[2, 4, 6, 8, 10]

2.3 조건부 표현식과 함께 사용하기

람다 함수는 조건부 표현식과 함께 사용할 수 있습니다. 아래 예제에서는 리스트의 요소가 짝수인지 홀수인지에 따라 다른 문자열을 반환합니다.

python

numbers = [1, 2, 3, 4, 5]
result = list(map(lambda x: "짝수" if x % 2 == 0 else "홀수", numbers))

결과:

 
['홀수', '짝수', '홀수', '짝수', '홀수']

2.4 정렬에 람다 함수 사용하기

리스트를 특정 기준에 따라 정렬할 때도 람다 함수를 사용할 수 있습니다. 다음 예제에서는 튜플 리스트를 두 번째 요소를 기준으로 정렬합니다.

python

data = [(1, 'apple'), (3, 'banana'), (2, 'cherry')]
sorted_data = sorted(data, key=lambda x: x[1])

결과:

 
[(1, 'apple'), (3, 'banana'), (2, 'cherry')]

2.5 리스트 필터링에 사용하기

람다 함수는 filter() 함수를 사용하여 리스트에서 특정 조건을 만족하는 요소를 필터링하는 데 유용합니다. 아래 예제는 짝수만 추출합니다.

python

numbers = [1, 2, 3, 4, 5, 6]
evens = list(filter(lambda x: x % 2 == 0, numbers))

결과:

 
[2, 4, 6]

3. 람다 함수의 장점과 단점

3.1 장점

  • 간결함: 짧은 코드로 쉽게 표현할 수 있습니다.
  • 일회성 사용: 이름 없이 사용할 수 있어 간단한 작업에 적합합니다.

3.2 단점

  • 가독성: 복잡한 람다 함수는 코드의 가독성을 떨어뜨릴 수 있습니다.
  • 디버깅 어려움: 이름이 없기 때문에 오류 발생 시 디버깅이 어려울 수 있습니다.
728x90
반응형