Python_lambda

DonQ·2021년 1월 9일
0

TIL

목록 보기
18/31
post-thumbnail

lambda

익명 함수(Anonymous), 즉 이름이 없는 함수를 정의하기 위한 용도로 사용

기존 함수

>>> def sum(x, y):
...   return x + y
...
>>> sum(10, 20)
30

lambda 표현식

>>> (lambda x,y: x + y)(10, 20)
30

lambda로 표현하면 간편하게 표현 할수 있다.

map()

map(함수, 리스트)
리스트로부터 원소를 하나씩 꺼내서 함수를 적용시킨 다음, 그 결과를 새로운 리스트에 담아준다.

>>> list(map(lambda x: x ** 2, range(5)))     
[0, 1, 4, 9, 16]

>>> list(map(lambda x : str(x) if x % 3 ==0 else x, a))
[1, 2, '3', 4, 5, '6']

reduce()

reduce(함수, 순서형 자료)
순서형 자료(문자열, 리스트, 튜플)의 원소들을 함수에 누적 적용

from functools import reduce 
>>> reduce(lambda x, y: x + y, [0, 1, 2, 3, 4])
10

>>> reduce(lambda x, y : y + x, ['a','b','c'])
cba

filter()

filter(함수, 리스트)
리스트에 들어있는 원소들을 함수에 적용시켜서 결과가 참인 값들로 새로운 리스트를 생성

list(filter(lambda x: x < 5, range(10))) 
[0, 1, 2, 3, 4]
profile
꾸준히 쌓아가는 코딩 Study

0개의 댓글