티스토리 뷰
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
반응형
'Python' 카테고리의 다른 글
| [기초강의] Python 출력결과 왼쪽, 오른쪽, 가운데 정렬하기 (3) | 2024.08.13 |
|---|---|
| [기초강의] 파이썬 예외 처리 및 오류 관리 (try, except) (1) | 2024.08.13 |
| [기초강의] 파이썬 함수의 정의와 사용법 (2) | 2024.08.13 |
| [기초강의] 파이썬 파일 입출력 기본 (2) | 2024.08.13 |
| [기초강의] 파이썬 문자열 조작과 포매팅 기초 (8) | 2024.08.13 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- chat gpt 모델별 예산
- chat gpt 한국어 가격
- 주식공부
- 1164회 로또
- 1165회 로또
- 케라스
- 티스토리챌린지
- 토치비전
- Numpy
- 기술적분석
- chat gpt 4o 예산
- 자동매매로직
- 로또 1164회 당첨
- 주린이탈출
- 차트분석
- 골든크로스
- 오블완
- 인공지능 로또 예측
- chat gpt api 비용 계산
- 클래스형 뷰
- 주식투자
- 장고 orm sql문 비교
- 재테크
- Python
- chat gpt 모델 별 가격
- chat gpt 모델 api 가격 예측
- 퀀트투자
- chat gpt 가격 예상
- 자동매매
- 로또 ai
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
글 보관함
250x250