[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] 내장함수 reversed 구현
이번 글에서는 Python의 reversed를 다루려고 한다. 글자 그대로 iterable을 반대로 해주는 내장함수다. 사용법과 결과는 다음과 같다. test = [7, 4, 2, 6, 8] print(list(reversed(test)))#[8,6,2,4,7] 그럼 구현해보겠다. def my_reversed(seq): res=[] for i in seq: res = [i] + res return res 이것도 매우 간단하다. 하지만 Python의 장점을 이용해서 range처럼 step을 이용한다면 다음과 같이 코드라인이 줄어들 수 있다. def my_reversed(seq): return seq[::-1] 한 줄만에 완성이다. 그러면 테스트 해보겠다. test = [7, 4, 2, 6, 8] asser..
2022. 5. 18.
[Python] 내장함수 range 구현
range에 대해 알아보려 한다. 사실 range의 형태를 정의하자면 내장'함수'라기보다 '불변 시퀀스' 형이다. for문에서 특정 횟수만큼 반복하는데 자주 사용한다. range 사용 예시를 보면 다음과 같다. list(range(10)) #0이상 10 미만 -> 인자가 하나일 때는 start = 0고정, end는 인자값 #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] list(range(1, 11)) #1이상 11미만 -> 인자가 두개일 때는 start, end로 취급 #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] list(range(0, 30, 5)) #0에서 30까지 5씩 건너뛰면서 -> 인자가 3개일 때는 start, end, step으로 취급 #[0, 5, 10, 15, 2..
2022. 5. 18.