728x90
반응형
Lambda 함수란 무엇인가?
Lambda 함수는 익명 함수(anonymous function)를 생성하는데 사용되는 함수입니다. 이러한 함수는 변수에 대입하여 함수를 저장하거나, 인자(argument)로 다른 함수에 전달하거나, 반환값으로 다른 함수에서 사용될 수 있습니다.
Lambda 함수는 간단한 기능을 가지고 있으며, 일반적으로 한 줄 안에 정의됩니다. 이러한 특징 때문에, Lambda 함수는 특별한 구문을 사용하여 생성됩니다.
Lambda 함수의 구문
Lambda 함수의 구문은 다음과 같습니다.
lambda arguments: expression
여기서 arguments
는 함수에 전달될 인자(argument)들의 목록입니다. expression
은 인자를 이용하여 계산할 표현식입니다.
다음은 간단한 예시입니다.
# 더하기 함수를 정의합니다.
def add(x, y):
return x + y
# Lambda 함수를 사용하여 더하기 함수를 정의합니다.
add_lambda = lambda x, y: x + y
# 함수를 호출합니다.
print(add(2, 3)) # 출력: 5
print(add_lambda(2, 3)) # 출력: 5
위의 코드에서, add_lambda
는 lambda
키워드를 사용하여 더하기 함수를 정의한 예시입니다.
Lambda 함수의 활용
Lambda 함수는 주로 다른 함수들의 인자로 전달되거나, 반환값으로 사용됩니다.
예를 들어, sorted()
함수는 리스트를 정렬할 때 사용됩니다. 이 함수는 key
인자를 사용하여 리스트의 각 요소에 대한 정렬 기준을 설정할 수 있습니다. key
인자로 Lambda 함수를 전달하여 리스트를 정렬할 수 있습니다.
# 문자열의 길이를 기준으로 리스트를 정렬합니다.
words = ['apple', 'banana', 'cherry', 'durian']
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words) # 출력: ['apple', 'cherry', 'banana', 'durian']
위의 코드에서, key
인자로 전달된 Lambda 함수는 문자열의 길이를 계산하여 정렬 기준으로 사용됩니다.
Lambda 함수는 또한 map()
함수, filter()
함수 등과 함께 사용될 수 있습니다. 이러한 함수들은 시퀀스 데이터에 대한 처리를 쉽게 할 수 있도록 해줍니다.
# 리스트의 각 요소를 제곱하여 새로운 리스트를 생성합니다.
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers) # 출력: [1, 4, 9, 16, 25]
반응형