• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

Python Lambda함수 정리

달소 달소 103

0

10

예전에 블로그에 작성했던 글 재탕입니당~

 

람다(Lambda)란?

  • 함수를 생성할 때 사용하는 예약어 (= def)
  • 간결함 함수를 만들 때 사용
  • run time에 생성하여 사용
  • 예약어를 사용할 경우 return 명령어가 없어도 반환
  • 예약어를 사용하지 않을 경우 재사용이 불가능

사용법

lambda 매개변수1, 매개변수2, … : 표현식

쉬운 예

두개의 인수 더한 값을 돌려주는 함수

  • 예약어 사용 O

>>>add = labmda a, b: a+b
>>>result = add(3, 4)
>>>print(result)

  • 예약어 사용 X

x = lambda a, b: a + b //a = 1, b = 2
print(x)
3

if 활용

score = [60, 79, 88, 56, 90]
result = list(map(lambda x : ‘pass’ if x>=60 else ‘fail’, score)) *맵에 대한 설명은 뒤에
print(result)
[‘pass’, ‘pass’, ‘pass’, ‘fail’, ‘pass’]

같이 사용할 함수들( map, filter, reduce)

  • map()함수
    map()은 두개의 인수를 가짐 map(함수, 반환할 객체)
    함수를 객체의 모든 요소에 적용해 변경시키고 변경된 값을 다시 객체에 반환한다.
    **python 3에서 map은 generator형으로 반환되므로 list()로 변환시켜줘야함
  • map() 예시

두 리스트의 합 구하기

a = [2, 4, 6, 8]
b = [1, 3, 5, 7]
result(map(lambda x, y : x + y, a, b))
print(result)
[3, 7, 11, 15]

  • filter()함수
    filter()의 형식은 map과 같고, 각각의 요소에 대해 Boolean값을 반환
    Boolean값이 False 일 경우 요소 제거
    **python 3에서 filter는 generator형으로 반환되므로 list()로 변환시켜줘야함
  • filter()의 예
     

a = [1, 2, 3, 4, 5, 6]
result = list((filter(lambda x : x % 2 == 0, a)))
print(result)
[2, 4, 6]

  • reduce()함수
     

reduce는 내장함수가 아니기 때문에 import 시켜야 함 from functools import reduce
reduce()의 형식은 reduce(함수, 객체)이며 리스트의 요소가 하나만 남을때까지 반복하게 됨

reduce()의 예

 

a = [1, 2, 3, 4]
result = reduce(lambda x, y : x + y, a))
print(result)
15 // (((1 + 2) + 3) + 4)

신고공유스크랩
10
썩은준치 2021.02.19. 14:35
벌꿀오송

저의 첫 코딩 언어로 파이썬 배우는데 정말 재밌는 것 같아요ㅋㅋ 이것도 뭐 깊게 들어가면 어떤 심경의 변화를 겪을 지 모르겠지만서두...ㅋㅋㅋ

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

주간 조회 수 인기글

주간 추천 수 인기글