반응형
python에서 제공하는 표준 라이브러리인 bisect에 대해서 정리하겠습니다.
bisect
bisect는 이진 검색 알고리즘을 이용하여 입력받은 시퀀스를 검색하는 기능을 제공하는 함수 입니다.
# bisect.bisect(a, x, lo=0, hi=len(a))
# 리스트 a에 x값이 들어갈 자리의 인덱스값을 반환합니다.
temp = [1, 3, 4, 5]
bisect.bisect(temp, 2)
# 출력값 : 1
bisect_right, bisect_left
bisect는 bisect_right와 동일하며, 이 두 함수는 리스트 a에 x와 동일한 값이 존재하면 해당 값의 뒷 인덱스 값을 반환합니다.
bisect.bisect_right(temp, 3)
# 출력값 : 2
하지만, bisect_left는 동일한 값의 인덱스를 반환합니다.
bisect.bisect_left(temp, 3)
# 출력값 : 1
insort
insort는 정렬된 시퀀스 a에 x값을 삽입합니다.
# bisect.insort(a, x, lo=0, hi=len(a))
temp = [1, 3, 4, 5]
bisect.insort(temp, 2)
# temp : [1, 2, 3, 4, 5]
insort도 동일하게 insort_right와 insort_left가 존재하며 동작 방식은 bisect와 동일합니다.
반응형
'프로그래밍 > [ Python ]' 카테고리의 다른 글
[1-2] 파이썬 (0) | 2020.11.18 |
---|---|
[1-1] 코딩 인터뷰 (0) | 2020.11.17 |
[Python] 슬라이싱(slicing) 기본 (0) | 2020.08.18 |
[Python] 문자열 활용법 정리 (0) | 2020.08.18 |
[Python] pickle (데이터 저장 및 불러오기) (0) | 2020.06.02 |