본문 바로가기
반응형

Studying/Python16

[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.
[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.
[Python] 내장함수 max, min 구현 Python의 내장함수 max와 min은 입력받은 인자들의 최댓값을 구한다. 만약 하나의 인자를 입력받았다면 iterable한 인자를 넣어야 한다. test = [7, 4, 2, 6, 8] print(max(1,2,3))#3 print(min(1,2,3))#1 print(max(test))#8 print(min(test))#2 추가로 key와 default값을 입력받을 수 있는데 key는 각 요소를 시작전에 한번 계산을 할 수 있게 하는것인데 추후 sort부분에서 다루려고 한다. default는 반환할 값이 없을 때 반환할 값을 지정할 수 있다. 그러면 설계를 해보겠다. 편의상 key와 default는 생략하겠다. 먼저 args를 입력받아서 그 길이가 1이면 args[0]을 사용하도록 바꿔준다. 그후 m.. 2022. 5. 16.
반응형