Study/FastCampus

[python] 컴프리핸션(comprehension) 속도 비교

상꼬 2021. 5. 3. 12:11
728x90
반응형

파이썬을 사용할 때 컴프리핸션을 이용하면 for문을 이용하는 것보다 좀 더 간결하게 코드를 작성할 수 있는 장점이 있다. 그런데, 코드의 간결화에 더불어 똑같은 코드를 동작시킬 때, 컴프리핸션이 for문 보다 대략적으로 2/3의 속도가 더 빠르다.

 

아래 예시를 보자. 아래 코드의 속도를 주피터에서 %%timeit 을 통해 셀 안의 코드 동작속도를 측정할 수가 있다.

ls = []
for num in range(1, 10001):
    ls.append(num)
len(ls)

 

더보기

<측정결과>

540 µs ± 2.77 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

 

다음은 컴프리핸션으로 코드를 작성하고 속도를 측정해 보았다.

 

ls = [num for num in range(1, 10001)]
len(ls)

 

더보기

<측정결과>

310 µs ± 7 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

 

 

결론 : 컴프리핸션에 익숙해 지자!

 

 

728x90
반응형