sein-choi 님의 블로그

[Python : basic] 익명함수 lambda 본문

python/기본

[Python : basic] 익명함수 lambda

sein-choi 2024. 12. 21. 17:43

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