sein-choi 님의 블로그
[Python : basic] 익명함수 lambda 본문
lambda
이름이 없는 함수로 한줄로 표현된다
일반 함수에 비해 코드가 짧으며
주로 한번만 사용될 경우에 유용하여 다름 함수의 인자로 사용된다
lambda 함수 만들기 : lambda 인자들 : 표현식
인자들 : 함수에 전달할 입력 값
표현식 : 인자들을 사용해 계산할 내용, 표현식의 결과가 반환값
# lambda 함수 활용해서 두 숫자 더하기
add = lambda x,y : x + y
result = add(2,4)
print(result)
lambda 함수 vs 일반 함수
lambda 함수 | 일반 함수 | |
이름 유무 | X | O |
복잡한 로직 처리 여부 | X (단일 표현식만 가능) |
O |
사용 시기 | 임시 or 간단한 작업 | 재사용 할 함수 or 복잡한 작업 |
코드 길이 | 짧음 | 상대적으로 김 |
✅lambda 함수 활용
🔶리스트 정렬
# 각 단어의 길이를 기준으로 리스트 정렬하기
words = ['watermelon', 'apple', 'orange']
words.sort(key = lambda x : len(x))
print(words) # [apple', 'orange', 'watermelon']
🔶map 함수와 함께
파이썬 내장 함수로 시퀀스의 각 요소에 대해 지정된 함수를 적용하여 그 결과를 새로운 시퀀스로 반환한다
반목문을 같이 작성하는 코드를 간결하게 표현할 수 있는 함수
map 함수 만들기 : map(함수, 시퀀스)
# 리스트에 각 요소 제곱하기
num = [1,2,3,4,5]
new_num = list(map(lambda x : x**2, num))
print(new_num) # [1, 4, 9, 16, 25]
🔶filter 함수와 함께
파이썬 내장 함수로 시퀀스의 각 요소에 대해 주어진 조건을 만족하는 요소들만 걸러내서 새로운 시퀀스를 반환한
조건문과 반복문을 같이 작성하는 코드를 간결하게 표현할 수 있는 함수
filter(함수, 시퀀스)
# 리스트의 각 요소 중 짝수인것만 선택하기
num = [1,2,3,4,5]
even = list(filter(lambda x : x % 2 == 0, num))
print(even) # [2,4]
출저 : 스파르타코딩, 데이콘
'python > 기본' 카테고리의 다른 글
[Python : basic] 클래스 class (0) | 2025.01.01 |
---|---|
[Python] 객체 & 객체지향 프로그래밍 (2) | 2025.01.01 |
[Python : basic] 함수 (1) | 2024.12.14 |
[Python : basic] while 반복문 (0) | 2024.12.14 |
[Python : basic] 리스트컴프리헨션 (0) | 2024.12.14 |