본문 바로가기

Study/FastCampus

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

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
반응형

'Study > FastCampus' 카테고리의 다른 글

[python] map(), filter(), reduce() 구현  (0) 2021.05.17
[python] Decolator - ①  (0) 2021.05.06
[python] Map(), Filter(), reduce()  (0) 2021.05.04
[python] 함수 default 파라미터  (0) 2021.05.03
[python] 구구단 프로그램(for문)  (0) 2021.05.03