본문 바로가기
반응형

내장함수8

[Python] 내장함수 sorted 구현 이번에는 어디든지 많이 사용되는 내장함수 sorted를 구현하려고 한다. 실제 업무나, 코딩테스트 등등 정말 실생활(?)에 많이 사용되는 함수라고 생각된다. 또 대학교에서 처음 언어를 배울 때 최적화 해서 구현하는 것이 과제로 많이 나온다. sorted의 기능은 글자 그대로 sort를 해주는 함수이다. 오름차순이나 내림차순으로 정렬을 해줄 수 있다. 내가 C 개발자라 신기했던 것 일 수 있지만 python에서는 어떤 키 값으로 sort할지도 정해줄 수 있다. 그럼 사용 방법을 보자 test1 = [7, 4, 2, 6, 8] print(sorted(test1)) #[2, 4, 6, 7, 8] test2 = [(1, 2), (6, 2), (5, 3), (10, 5)] print(sorted(test2)) #.. 2022. 5. 24.
[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.
[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.
반응형