본문 바로가기
반응형

LAMBDA12

[프로그래머스] 내적 Python Code 프로그래머스 추천 문제가 아직 레벨 1로 나온다. 내적을 풀어보겠다. 문제 문제가 상당히 쉽다 바로 구현해보겠다 Code def solution(a, b): answer=0 for n1, n2 in zip(a, b): answer += n1*n2 return answer 개인적으로 zip, enumerate 함수를 많이 사용하는 편이다. zip으로 풀어서 라인 수가 적다고 생각했지만... Python은 숏코딩 덕후들이 많은 것 같다. 1. def solution(a, b): return sum([x*y for x, y in zip(a,b)]) 2. solution = lambda x, y: sum(a*b for a, b in zip(x, y)) 퍼포먼스는 lambda를 사용한 2번보다 1번이 더 좋다. 2022. 7. 29.
[Python] 내장함수 sum 구현 이번에는 sum을 구현하려고 한다. 머신러닝 분야나 선형대수학 등등 많은 수학 분야에서 쓰이는 내장함수이다. 사용법을 먼저 보면 iterable과 start값(옵션, 기본값=0)을 넘겨주고 iterable을 start값부터 차례대로 돌면서 더하고 다 더한 값을 return 한다. 예시를 보자 test = [7, 4, 2, 6, 8] print(sum(test)) #27 print(sum(test,1)) #20 이제 로직은 매우 쉽다. 항상 하듯이 iterable을 순환하며 값을 더하고 그 값을 반환하면 된다. 그럼 구현해보자 def my_sum(iterable, start=0): res=start for i in iterable: res+=i return res 기존에 filter와 map등을 구현하며 .. 2022. 5. 19.
[Python] 내장함수 map 구현 이번에는 앞의 filter와 사용법이 비슷한 map에 대해서 알아보겠다. map은 iterable의 모든 element에 function을 적용해서 반환한다. 사용 예시를 보자 test = [1, 7, 5, 2, 9, 11] print(list(map(lambda x: x * 2, test))) #[2, 14, 10, 4, 18, 22] 이렇게 test의 모든 원소 x에 대하여 x*2가 반환된다. 그럼 구현해보겠다 해당 iterable을 돌면서 각 원소에 function을 적용해주면 된다. def my_map(function, iterable): res=[] for i in iterable: res.append(function(i)) return res 아주 간단하게 구현된다. 그럼 테스트를 해보겠다. .. 2022. 5. 19.
[Python] 내장함수 filter 구현 이번에는 파이썬의 내장함수 filter에 대해 알아보겠다. filter는 함수와 iterable인자를 받는다 여기서 함수가 None이면 항등 함수가 default다. 결국 filter는 함수가 참을 return하는 iterable들만 반환하는 기능이다. 말로는 이해가 어려울 수 있으니 예를 들어보겠다. test = [1, 7, 5, 2, 9, 11] print(list(filter(lambda x: x > 5, test))) #[7,9,11] 이렇게 test의 element인 x 중 5보다 큰 값만 반환하는 기능이다. 그럼 구현을 해보겠다. function에 iterable의 원소를 넣고 True라면 배열에 추가하여 마지막에 배열을 리턴하면 된다. def my_filter(function, iterabl.. 2022. 5. 18.
반응형