728x90
반응형
Python에서 람다 함수는 작고 이름 없는 함수를 정의하는 데 사용됩니다. 이는 lambda 키워드를 사용하여 생성되며, 단일 표현식으로 구성됩니다. 람다 함수는 코드를 간결하게 만들고, 임시적으로 사용하는 간단한 기능을 위해 매우 유용합니다. 이 글에서는 Python의 람다 함수를 어떻게 활용할 수 있는지 살펴보겠습니다.
람다 함수의 기본 구조
람다 함수의 기본 구조는 다음과 같습니다:
lambda arguments: expression
이 구조에서 arguments는 함수에 전달되는 인수를 나타내고, expression은 이 인수를 사용하는 식입니다. 람다 함수는 이 식의 결과를 자동으로 반환합니다.
람다 함수의 예제
단일 인수를 사용하는 예제
double = lambda x: x * 2
print(double(5)) # 출력: 10
여러 인수를 사용하는 예제
multiply = lambda x, y: x * y
print(multiply(2, 3)) # 출력: 6
기본값을 가진 인수
full_name = lambda first, last='Doe': first.strip().title() + " " + last.strip().title()
print(full_name(' john ', 'smith')) # 출력: John Smith
print(full_name('john')) # 출력: John Doe
람다 함수의 활용
리스트 정렬
람다 함수는 리스트 같은 시퀀스의 요소를 정렬하는 데 유용하게 사용됩니다. 특히, 객체의 특정 속성에 따라 정렬할 때 매우 효과적입니다.
data = [{'name': 'John', 'score': 90}, {'name': 'Jane', 'score': 85}, {'name': 'Dave', 'score': 92}]
# 점수에 따라 정렬
sorted_data = sorted(data, key=lambda x: x['score'])
print(sorted_data) # 출력: [{'name': 'Jane', 'score': 85}, {'name': 'John', 'score': 90}, {'name': 'Dave', 'score': 92}]
map 함수
map() 함수와 람다를 조합하면 시퀀스의 각 요소에 함수를 적용할 수 있습니다.
nums = [1, 2, 3, 4, 5]
squared_nums = list(map(lambda x: x ** 2, nums))
print(squared_nums) # 출력: [1, 4, 9, 16, 25]
filter 함수
filter() 함수는 람다를 사용하여 시퀀스에서 조건을 만족하는 요소만 추출할 때 유용합니다.
nums = [1, 2, 3, 4, 5]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums) # 출력: [2, 4]
결론
Python의 람다 함수는 작은 규모의 함수를 빠르고 간결하게 정의할 수 있게 해줍니다. 이러한 특성은 코드의 가독성을 높이고, 일시적인 사용 함수를 만드는데 이상적입니다. 람다 함수의 활용은 Python에서의 함수적 프로그래밍 스타일을 더욱 풍부하게 해주며, 다양한 일상적인 프로그래밍 작업을 간편하게 처리할 수 있도록 돕습니다.
728x90
반응형
'Python' 카테고리의 다른 글
Python에서 네트워크 통신 기초: 소켓 프로그래밍 이해하기 (29) | 2024.05.16 |
---|---|
Python에서 쓰레드와 멀티프로세스 이해하기: 병렬 처리의 기초 (27) | 2024.05.16 |
Python에서 함수형 프로그래밍 이해하기 (20) | 2024.05.15 |
Python 정규 표현식 기초: 데이터 검색 및 조작 가이드 (19) | 2024.05.14 |
Python 가상 환경(Virtual Environment) 사용법: 독립적인 개발 공간 만들기 (20) | 2024.05.14 |