Search Results for 'Programming'

ATOM Icon

1 POSTS

  1. 2008/09/08 [Python] 문자열 붙이기 by gmong

[Python] 문자열 붙이기

요즘 뭐 새로운거 없을까 찾다가 파이썬을 해보고 있습니다.
책을 읽다가 자칫 실수할 수 있는 내용이 있길래 스크랩을 해둡니다.


문자열 붙이기에 사용되는 다음 두 개의 코드를 비교해 보자. 첫 번째 방법은 문자열에 문자열을 연결하는 방법이다. (10만번)

s = ''
for k in range(100000) :
    s += 'spam'


두 번째 방법은 연결될 문자열을 일단 리스트에 저장한 후 나중에 한꺼번에 연결하는 방법이다.

t = []
for k in range(100000) :
    t.append('spam')
s = ''.join(t)


두 개의 코드를 저자의 컴퓨터에서 실제로 비교해 본 결과 첫 번째 방법이 380.873초 걸린 반면에 두 번째 방법은 불과 0.843초 밖에는 걸리지 않았다. 그 이유는 첫 번째 방법은 문자열을 실제로 10만번 붙이기 위하여 메모리 할당을 10만번 하고 10만번 해제한다. 또한 그 크기도 점차 늘어서 나중에는 400K 가까운 메모리를 할당하고 해제를 반복한다. 반면에 두 번째 방법은 필요한 만큼의 문자열을 메모리에 해제함 없이 저장한 후 나중에 한번만 붙이므로 연산 속도가 상당히 빠르다. 가장 빠른 연산은 s = 'spam' * 10000 으로 불과 0.01초밖에는 걸리지 않았다. 하지만 다른 문자열을 붙이는 경우라면 두 번째 방법이 효과적이라고 생각한다.

출저 : 열혈강의 파이썬(이강성 저) 165p

Posted by gmong

2008/09/08 18:01 2008/09/08 18:01
,
Response
No Trackback , No Comment
RSS :
http://gmong.com/blog/rss/response/347


블로그 이미지

since2004

- gmong

Notices

Archives

Authors

  1. gmong

Recent Trackbacks

Calendar

«   2012/02   »
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Site Stats

Total hits:
365605
Today:
149
Yesterday:
257