map과 list 내장(comprehension)의 비교
조회수 3349회
1 답변
-
- map이 더 빠른 경우 : lambda를 쓰지 않고 map과 list에서 같은 함수를 쓸 때(아주 조금 더 빠름)
- list 내장이 더 빠른 경우 : 위의 상황을 제외한 대부분의 경우.
그리고 파이썬 개발자들은 list가 더 가독성이 좋기 때문에 list를 보통 선호합니다.
속도 차는 다음과 같습니다.
map이 더 빠른 경우 - lambda를 쓰지 않으면서 같은 함수를 쓸 때
$ python -mtimeit -s'xs=range(10)' 'map(hex, xs)' 100000 loops, best of 3: 4.86 usec per loop $ python -mtimeit -s'xs=range(10)' '[hex(x) for x in xs]' 100000 loops, best of 3: 5.58 usec per loop
list내장이 더 빠른 경우 - 위의 상황을 제외한 대부분의 경우(예제는 lambda를 쓰는 경우)
$ python -mtimeit -s'xs=range(10)' 'map(lambda x: x+2, xs)' 100000 loops, best of 3: 4.24 usec per loop $ python -mtimeit -s'xs=range(10)' '[x+2 for x in xs]' 100000 loops, best of 3: 2.32 usec per loop
댓글 입력