본문 바로가기
Programming/Python

Index(), bisect() - list 원소의 index값 찾기

by Chan_찬 2020. 9. 14.
728x90
반응형

python - index, bisect

list의 index값을 찾는 방법


index를 찾는 list의 크기가 크거나 loop로 찾는다면
bisect() 이진분할 알고리즘을 사용하면 시간을 단축할 수 있다

list.index(n)  # list index함수
bisect(list, n)  # 이진분할 알고리즘
rmax = 2000000
l = [i for i in range(rmax)]
loop = 50
find_n = rmax-2

@print_time
def m_index():
  for i in range(loop):
    l.index(find_n)

import bisect
@print_time
def m_bisect():
  for i in range(loop):
    idx = bisect.bisect_left(l, find_n)

m_index()
m_bisect()

m_index: 8.1919 
m_bisect: 0.0001
728x90
728x90
BIG

'Programming > Python' 카테고리의 다른 글

Reverse list - 리스트 역순으로  (0) 2020.09.16
list method 성능 측정  (0) 2020.09.15
decorator - 데커레이터  (0) 2020.09.12
named tuple - 네임드듀플  (0) 2020.09.11
permutations in itertools  (0) 2020.09.04
Buy me a coffeeBuy me a coffee

댓글