자료 제공: https://dojang.io/mod/page/view.php?id=2359
파이썬 코딩 도장: 32.1 람다 표현식으로 함수 만들기
Unit 32. 람다 표현식 사용하기 지금까지 def로 함수를 정의해서 사용했습니다. 이번에는 람다 표현식으로 익명 함수를 만드는 방법을 알아보겠습니다. 람다 표현식은 식 형태로 되어 있다고 해서
dojang.io
람다
람다 표현식으로 익명함수 만들기
람다 표현식은 식 형태로 되어 있다고 해서 람다 표현식(lambda expression)이라고 부른다.
특히 람다 표현식은 함수를 간편하게 작성할 수 있어 다른 함수의 인수로 넣을 때 주로 사용한다!
정의하기
def로 정의한 함수와 람다 표현식으로 만든 함수를 비교해보자.

- def 정의 함수
def plus_ten(x):
return x + 10
plus_ten(10) # 호출
- 람다 표현식
plus_ten = lambda x: x + 10
plus_ten(10) # 호출
주의
- 람다 표현식 안에서는 변수를 만들어낼 수 없다.
- 대신, 람다 표현식 바깥에 있는 변수는 사용 가능하다.
응용 - map(함수, 리스트)
map(함수, 리스트)함수
- 함수와 리스트를 인자로 받는다.
- 리스트로부터 원소를 하나씩 꺼내서 함수를 적용시킨 다음, 그 결과를 새로운 리스트에 담아준다.
>>> list(map(lambda x: x + 10, [1, 2, 3]))
[11, 12, 13]
응용 - sorted()
2차원 리스트를 정렬하는 sorted() 함수에서의 응용
sorted(반복 가능한 객체, key=정렬함수, reverse=True 혹은 False)
- key에 정렬함수를 지정할때 lambda식을 사용
students = [
['john', 'C', 19],
['maria', 'A', 25],
['andrew', 'B', 7]
]
# 안쪽 리스트의 인덱스 1을 기준으로 정렬
print(sorted(students, key=lambda student: student[1]))
# 안쪽 리스트의 인덱스 2를 기준으로 정렬
print(sorted(students, key=lambda student: student[2]))
'⌨️ Algorithm > Python' 카테고리의 다른 글
[Python 문제풀이] 백준 11000번: 강의실 배정 (0) | 2023.01.14 |
---|---|
[Python 문제풀이] 백준 2212번: 센서 (0) | 2023.01.14 |
[Python 자료구조] max-heap, min-heap과 heapq 모듈 (0) | 2023.01.12 |
[Algorithm] Week 2. 그리디 (0) | 2023.01.12 |
[Algorithm] Week 1. 큐와 스택 (0) | 2023.01.12 |
댓글