![[Python] 파이썬 람다 함수(lambda) 사용법과 예제](https://blog.kakaocdn.net/dn/c8YByC/btsv7l1psTJ/0nkW3MX4uJ0gkYHMxwYljK/img.png)
안녕하세요! 오늘은 파이썬에서 매우 유용한 기능 중 하나인 람다 함수에 대해 알아보겠습니다. 람다 함수는 간단하면서도 강력한 기능을 제공하여 파이썬 프로그래밍을 더욱 효율적으로 만들어 줍니다.
람다 함수란?
람다 함수는 익명 함수로도 알려져 있으며, 이름이 없는 함수입니다. 즉, 함수를 정의할 때 def 키워드를 사용하지 않고 한 줄로 간결하게 작성할 수 있습니다. 이는 함수를 간단하게 만들어주고, 코드의 가독성을 높여줍니다.
람다 함수의 사용법
람다 함수는 다음과 같은 형식으로 작성됩니다:
lambda arguments: expression
여기서 arguments는 함수에 전달되는 인수이고, expression은 함수의 반환값을 나타냅니다. 예를 들어, 두 수를 더하는 간단한 람다 함수를 작성해보겠습니다:
add = lambda x, y: x + y
위의 예제에서 add는 두 개의 인수를 받아서 더한 값을 반환하는 람다 함수입니다. 이제 이 함수를 호출해보겠습니다:
result = add(3, 5)
print(result) # 출력: 8
위의 예제에서는 add라는 변수에 람다 함수를 할당하고, 이를 호출하여 결과를 출력하였습니다. 이처럼 람다 함수는 변수에 할당하여 사용할 수 있습니다.
람다 함수의 장단점
람다 함수는 간결하고 간편하게 함수를 작성할 수 있어서 코드의 가독성을 높여줍니다. 또한, 함수를 인수로 전달해야 하는 경우에 유용하게 사용될 수 있습니다. 예를 들어, 파이썬의 내장 함수인 map()과 filter() 함수에서 람다 함수를 자주 사용합니다.
하지만, 람다 함수는 한 줄로 작성되어야 하기 때문에 복잡한 로직을 구현하기에는 제한적입니다. 또한, 람다 함수는 재사용이 어렵기 때문에 단순한 연산에 주로 사용됩니다. 따라서, 복잡한 로직을 구현해야 하는 경우에는 일반적인 함수를 사용하는 것이 더 좋을 수 있습니다.
람다 함수의 활용 예제
다음은 람다 함수의 활용 예제 몇 가지를 소개하겠습니다:
1. 리스트 정렬
람다 함수를 사용하여 리스트를 정렬할 수 있습니다. 예를 들어, 다음과 같이 숫자 리스트를 오름차순으로 정렬할 수 있습니다:
numbers = [5, 2, 8, 1, 9]
sorted_numbers = sorted(numbers, key=lambda x: x)
위의 예제에서는 sorted() 함수에 람다 함수를 인수로 전달하여 리스트를 정렬하였습니다. 이때, key 매개변수에 람다 함수를 사용하여 정렬 기준을 지정할 수 있습니다.
2. 조건에 맞는 요소 필터링
람다 함수를 사용하여 조건에 맞는 요소를 필터링할 수 있습니다. 예를 들어, 다음과 같이 숫자 리스트에서 짝수만 필터링할 수 있습니다:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
위의 예제에서는 filter() 함수에 람다 함수와 리스트를 인수로 전달하여 짝수만 필터링하였습니다. 이때, 람다 함수의 반환값이 True인 요소만 필터링됩니다.
3. 간단한 계산기
람다 함수를 사용하여 간단한 계산기를 만들 수 있습니다. 예를 들어, 다음과 같이 덧셈, 뺄셈, 곱셈, 나눗셈을 수행하는 계산기를 만들어보겠습니다:
calculator = {
'add': lambda x, y: x + y,
'subtract': lambda x, y: x - y,
'multiply': lambda x, y: x * y,
'divide': lambda x, y: x / y
}
result = calculator['add'](3, 5)
print(result) # 출력: 8
위의 예제에서는 딕셔너리를 사용하여 각 연산에 대한 람다 함수를 저장하고, 이를 호출하여 계산 결과를 출력하였습니다.
결론
이상으로 파이썬 람다 함수(lambda)에 대해 알아보았습니다. 람다 함수는 간결하고 강력한 기능을 제공하여 파이썬 프로그래밍을 효율적으로 만들어 줍니다. 하지만, 복잡한 로직을 구현해야 하는 경우에는 일반적인 함수를 사용하는 것이 더 좋을 수 있습니다. 람다 함수의 활용 예제를 통해 다양한 사용 방법을 익혀보세요!
댓글