Dolphins의 HelloWorld
lambda, map reduce 본문
Lambda
람다는 함수 이름 없이, 함수처럼 쓸 수 있는 익명함수를 의미한다.
사용방법은 java나 c#같은 언어에서의 방법과 거의 비슷하다.
단지 lambda라는 명령어를 따로 써주는것이 파이썬에서의 람다의 특징이다.
예시를 통해 간단하게 보고 넘어가겠다.
#매개변수 없는 경우 function1 = lambda : print('Hello') function1() #매개변수로 받은것을 제곱하는 함수 function2 = lambda x : x**2 print(function2(3))
Map
기본 형식은
map(function_name, list_data)
이며 list에 있는 모든 값들에게 사용자가 넣어준 함수를 적용시킨다.
def func (x): return x**3 mylist = [1,2,3,4,5] print(list(map(func,mylist))) func2 = lambda x,y : x*y print(list(map(func2,mylist,mylist)))
Reduce
먼저
from functools import reduce
를 통해 import 해야 reduce를 사용할 수 있음에 유의하자.
reduce 함수를 사용하면 결국 list에 있는 값들이 하나의 값으로 통합된다.
예를들어
list = [1,2,3,4,5]
reduce(lambda x,y : x*y,list)
이렇게 함수를 사용한다면 x*y라는 function은 배열의 맨 앞부터 수행된다.
그러니까 처음에 1*2가 수행되고 그 결과값과 3이 곱해지며
이런식으로 마지막까지 function이 수행된다.
코드를 통해 잘 동작하는지 확인해보겠다.
from functools import reduce print(reduce(lambda x,y:x*y,[1,2,3,4,5]))
'python > python 심화' 카테고리의 다른 글
urllib 와 Beautiful soup (0) | 2018.07.13 |
---|---|
Enumerate,Zip (0) | 2018.07.10 |
Split, Join, List comprehensions (0) | 2018.07.10 |
Python의 문자표현 (0) | 2018.07.09 |
Comments