📚 [Archive] CS & AI 스터디/[STUDY] Python 기초 🐍

[Python] 람다 함수 다람쥐🐿️

히주 2024. 12. 24. 15:06

 

Python의 람다 함수는 익명 함수(anonymous function)라고 불리는 간단한 함수 형태로 코드에서 한 줄로 간단히 정의하고 사용할 수 있는 기능입니다. 주로 한 번만 사용되거나 매우 간단한 연산을 처리할 때 사용됩니다람쥐 🐿️

 


 

💡 람다 함수란?

  • lambda 키워드를 사용하여 함수를 생성합니다.
  • 이름이 없는 함수이기 때문에 익명 함수라고 부릅니다.
  • def 키워드로 함수를 정의하는 대신 간단한 작업을 한 줄로 처리할 때 사용됩니다.

 

 

 

🛠️ 람다 함수의 기본 문법

lambda 인자1, 인자2, ... : 표현식

 

  • 인자: 함수에 전달되는 입력값들
  • 표현식: 함수가 반환하는 값(하나의 연산식만 작성 가능)
# 두 수를 더하는 람다 함수
add = lambda x, y: x + y
print(add(3, 5))  # 출력: 8

 

 

 

 

⚖️ 일반 함수와 람다 함수 비교

🌀 일반함수

def add(x, y):
    return x + y

 

 

🌟 람다함수

add = lambda x, y: x + y
  • 두 경우 모두 같은 동작을 하지만, 람다 함수는 간단하게 한 줄로 정의 가능.

 

 

 

 

🚀 람다 함수의 활용

람다 함수는 주로 내장 함수와 함께 사용될 때 유용합니다.

(1) map 함수와 함께 사용 🗺️

  • 리스트 요소에 함수를 적용하고 싶을 때 사용
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, numbers))
print(squared)  # 출력: [1, 4, 9, 16]

 

(2) filter 함수와 함께 사용 🔍

  • 리스트에서 조건에 맞는 요소만 걸러낼 때 사용
numbers = [1, 2, 3, 4, 5]
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even)  # 출력: [2, 4]

 

(3) sorted 함수와 함께 사용 📋

  • 정렬 기준을 커스터마이징할 때 사용
data = [(1, 'a'), (3, 'c'), (2, 'b')]
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)  # 출력: [(1, 'a'), (2, 'b'), (3, 'c')]

 

 


 

예제🔢

# 특정 나이 이상의 사람들만 필터링
people = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 30}]
adults = list(filter(lambda person: person['age'] >= 21, people))
print(adults)
# 출력: [{'name': 'Alice', 'age': 25}, {'name': 'Charlie', 'age': 30}]