lambda (원래모습 : 바뀐모습)
- print( (lambda x,y: x + y)(10, 20) )
- 인자까지 한꺼번에 줄 수있음
map (def명, 넣을것)
순회가능한 데이터를 저 함수에 넣어 ouput을 도출하겠다. 는 뜻.
map(변환 함수, 순회 가능한 데이터)
- map은 꼭 list로 변환해줘야 값을 볼 수 있음.
def list_mul(x):
return x * 2
result = list(map(list_mul, [1, 2, 3]))
print(result)
lambda + map
- map이 lambda 식 자체를 인수로 가짐.
- i 를 i*2로 바꿀꺼고 (lambda), [1,2,3]을 i로 돌릴꺼야 (map)
result = list(map(lambda i: i * 2 , [1, 2, 3]))
print(result)
>>> a = [1, 2, 3, 4, 5]
>>> b = [2, 4, 6, 8, 10]
>>> list(map(lambda x, y: x * y, a, b))
[2, 8, 18, 32, 50]
filter(함수, 반복가능한객체)
반복가능한 객체에서 특정 조건에 맞는 요소만 가져옴.
값이 있으면 일단 true라서 다 반환하는 점 조심.
>>> a = [8, 3, 2, 10, 15, 7, 1, 9, 0, 11]
>>> list(filter(lambda x: x > 5 and x < 10, a))
[8, 7, 9]
reduce(함수명, 반복가능한객체)
반복가능한 객체의 각 요소를 지정된 함수로 처리한 뒤, 이전 결과와 누적해서 반환하는 함수.
from functools import reduce
python 3부터 없어짐. 되도록이면 for, while 쓸 것
>>> def f(x, y):
... return x + y
...
>>> a = [1, 2, 3, 4, 5]
>>> from functools import reduce
>>> reduce(f, a)
15
>>> a = [1, 2, 3, 4, 5]
>>> from functools import reduce
>>> reduce(lambda x, y: x + y, a)
15
>>> a = [1, 2, 3, 4, 5]
>>> x = a[0]
>>> for i in range(len(a) - 1):
... x = x + a[i + 1]
...
>>> x
15
728x90
'Study (Data Science) > Python' 카테고리의 다른 글
참고) zip( ) 함수 (0) | 2022.11.29 |
---|---|
Unit30. *args / **kwargs (가변인자; Variadic Parameters) (0) | 2022.11.29 |
참고) iterable, iterator 차이점 (0) | 2022.11.29 |
참고) 최댓값, 최솟값 (함수에서 return 잘 활용하는법) (0) | 2022.11.29 |
참고) Enumerate/Yield/Generator/Try/Accept/Multiprocessing (0) | 2022.11.29 |
댓글