파이썬 | Python
람다(lambda)표현식이란? | 파이썬
sungkshon
2024. 5. 21. 10:16
반응형
람다(lambda)
람다(lambda)표현식은 식 형태로 되어있다고 해서 람다 표현식(lambda expression)이라고 부른다.
람다 함수를 사용할 때는 위와 같이 써주면 된다
lambda 매개변수 : 표현식
>> (lambda x, y: x + y)(10, 20)
30
>> list(map(lambda x: x+10, [1,2,3]))
[11, 12, 13]
map() 함수와 함께 사용하기
map(함수, 리스트)
>> list(map(lambda x: x**2, range(5))
[0, 1, 4, 9, 16]
리스트로는 range(5)를 써주면 [0, 1, 2, 3, 4]라는 리스트를 돌려준다. x**2라는 것은 x값을 제곱하라는 연산자이다.
map()은 리스트에서 원소를 하나씩 꺼내 함수를 적용시킨 결과를 새로운 리스트에 담아주니까, 각각 제곱한 값을 새로운 리스트에 넣어주는 것이다.
sorted()
a = [(1,2), (5,1), (0,1), (5,2), (3,0)]
>> arr = sorted(a)
arr = [(0,1),(1,2),(3,0),(5,1),(5,2)]
>> arr = sorted(a, key = lambda x : x[0])
arr = [(0,1), (1,2), (3,0), (5,1), (5,2)]
>> arr = sorted(a, key = lambda x : x[1])
arr = [(3,0),(5,1),(0,1),(1,2),(5,2)]
key인자에 함수를 넘겨주면 우선순위가 정해진다.
>> arr = sorted(a, key = lambda: (x[0], -x[1])
arr = [(0,1),(1,2),(3,0),(5,2),(5,1)]
>> arr = sorted(a, key = lambda: -x[0])
arr = [(5,1), (5,2), (3,0), (1,2), (0,1)]
비교할 아이템 요소가 복수개인 경우, 튜플로 우선순위를 정해줄 수 있다.
-를 붙이면, 현재와 반대차순으로 정렬된다.
반응형