728x90
람다(lambda)식은 Java에도 존재하는 형태입니다.
저는 개인적으로 간략한 함수를 간략하게 나타냈다고 표현하고 싶습니다.
lambda 파라미더 : 리턴될 값
이같은 형태가 람다식인데요.
예시를 한번 볼까요??
hap01 = lambda a, b: a + b
print(hap01(10, 20))
hap01이라는 변수에 lambda식을 적용했습니다.
파라미터는 a와 b를 받고 a와 b를 더한 값을 리턴합니다.
hap01에 10과 20을 아규먼트로 주게 되면 30이 리턴이 되겠지요.
gop = lambda a, b: a * b
print(gop(10, 20))
더하기 뿐만 아니라 곱한 값도 리턴할수 있습니다.
hap02 = lambda a, b, c: a + b + c
print(hap02(10, 20, 30))
파라미터는 3개도 받을수 있습니다.
a = [(1, 'one' , 9), (2, 'two', 8), (3, 'three', 7), (4, 'four', 6)]
a.sort(key=lambda a:a[2])
print(a)
리스트로 저장되어있는 튜블들을 출력하려고합니다.
sort함수로 정렬을 해줄수 있는데요.
lambda식으로 리스트 안의 튜플의 번지수를 기준으로 정렬을 할수 있습니다.
튜플의 2번지인 숫자들을 기준으로 정렬됩니다.
min01 = (lambda x, y: x if x < y else y)(11, 22)
print(min01)
max01 = (lambda x, y: x if x > y else y)(33, 44)
print(max01)
파라미터를 람다식 바로 뒤에 넣을수도 있습니다!
b = lambda x: (lambda newx: x + newx)
print(b(100)(90))
람다식 안에 람다식을 넣는 방법도 있습니다!
728x90
'Python > Python' 카테고리의 다른 글
[Python] module(모듈) (0) | 2022.05.11 |
---|---|
[Python] 함수(function) (0) | 2022.05.09 |
[Python] break, continue (0) | 2022.05.08 |
[Python] 제어문 - while문 (0) | 2022.05.07 |
[Python] 제어문 - for문 (0) | 2022.05.06 |