Python/Python

[Python] 람다식(lambda)

씨네 2022. 5. 10. 14:23
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