-
[Python]람다(lambda) 함수 이해하기코딩/파이썬 2023. 7. 29. 18:51반응형
이 글에서는 Python 프로그래밍 언어에서 사용되는 람다(lambda) 함수에 대해 배울 것입니다. 초보자 분들도 쉽게 이해할 수 있도록 기본적인 개념부터 실제 사용 사례까지 자세히 설명하겠습니다.
목차
1. 람다(Lambda) 함수란?
람다(Lambda) 함수는 Python에서 사용하는 이름이 없는 익명 함수의 한 형태입니다. 익명 함수 람다는 일반적으로 한 번만 사용할 함수를 정의할 때 유용하며, 코드를 더욱 간결하게 작성하는 데 도움이 됩니다. 특히 리스트나 딕셔너리 등의 자료형과 함께 사용될 때 효과적입니다.
람다 함수는 다음과 같은 형식으로 작성합니다.
lambda parameters: expression
2. 람다(Lambda) 사용 방법
람다 함수를 사용하는 방법은 매우 간단합니다. lambda라는 키워드 다음에 매개변수를 입력하고, 콜론(:) 다음에 반환할 연산을 적습니다. 아래 예시를 보면 더욱 이해하기 쉽습니다.
add = lambda x, y: x + y print(add(5, 3)) # 출력: 8
위의 코드는 두 매개변수 x와 y를 받아, 그 합을 반환하는 익명 함수를 생성하고 이를 add 변수에 할당하는 것입니다. 이제 add(1, 2)와 같이 함수를 호출할 수 있습니다.
익명 함수는 간단한 기능을 수행하는 함수를 빠르게 작성하거나, 다른 함수의 인자로 함수를 전달할 때 주로 사용됩니다. 하지만 복잡한 로직이나 여러 줄의 코드가 필요한 경우에는 일반적으로 명명된 함수를 사용하는 것이 좋습니다.
3. 주요 사용 사례
람다 함수는 많은 경우에 활용될 수 있지만, 특히 리스트나 딕셔너리 등의 자료형에 있는 요소들을 효과적으로 처리할 때 사용됩니다. 예를 들어, 리스트의 요소를 기준으로 정렬할 때 람다 함수를 활용할 수 있습니다.
list1 = [{'name': 'John', 'age': 20}, {'name': 'Mike', 'age': 30}] list1.sort(key=lambda x: x['age']) # lambda 함수를 parameter로 넘긴다. print(list1) # 출력: [{'name': 'John', 'age': 20}, {'name': 'Mike', 'age': 30}]
위 예시에서는 리스트의 각 요소인 딕셔너리를 나이('age')를 기준으로 정렬하였습니다.
아래와 같이 filter() 함수와도 같이 사용할 수 있습니다.
filter() 함수는 시퀀스(리스트, 튜플 등)의 각 요소에 대해 조건을 검사하고, 그 조건을 만족하는 요소만을 선택합니다. 람다 함수를 사용하면 이러한 조건을 간단하게 표현할 수 있습니다.
예를 들어, 리스트에서 홀수만을 선택하려면 다음과 같이 작성할 수 있습니다:numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] odd_numbers = filter(lambda x: x % 2 != 0, numbers) print(list(odd_numbers)) # 출력: [1, 3, 5, 7, 9]
4. 사용 시 주의할 점
람다 함수는 간결함과 편리함 때문에 많이 사용되지만, 주의할 점이 있습니다. 복잡한 로직이나 여러 줄의 코드를 작성해야 하는 경우에는 일반 함수를 사용하는 것이 더 가독성이 높습니다. 또한, 람다 함수는 함수 내에서 변수를 생성하거나 저장할 수 없으므로, 이러한 기능이 필요한 경우에는 일반 함수를 사용하는 것이 적절합니다.
이상으로 Python의 람다 함수에 대해 알아보았습니다.반응형'코딩 > 파이썬' 카테고리의 다른 글
[Python] 텍스트 파일 읽고 쓰기(open, readlines 등) (0) 2023.07.30 [Python] GIL(Global interpreter Lock) 이해하기 (0) 2023.07.29 [Python] 리스트와 튜플(tuple)의 차이점 이해하기 (0) 2023.07.29 [Python] 초보자를 위한 데코레이터(Decorator) 사용법 (0) 2023.07.29 [Python]List Comprehension을 활용한 코드 최적화 (0) 2023.07.29