jm_p_op
.py 실험실 공간할당(list붙이기) 본문
공간할당을 하면 시간이 많이 줄어든다.
- 1.enumerate - 변수 2개를 뽑아쓴다. 따라서 그만큼 속도느려짐(2와 비슷)
- 2.append - list뒤에 붙이는 기본적인 방식(1과 비슷)
- 3.공간을 할당하고 거기에 덭붙이는 방식(가장 좋음)
- 4.+=을 사용하여 리스트 붙이는 방식 (가장 안좋음)
import time
n = 10**8
start = time.time()
a = [0]*n
for i, letter in enumerate(a):
a[i] = i
print("time1 :", time.time() - start)
del a
start = time.time()
b = []
for i in range(n):
b.append(i)
print("time2 :", time.time() - start)
del b
start = time.time()
c = [0]*n
for i in range(n):
c[i] = i
print("time3 :", time.time() - start)
del c
start = time.time()
d = []
for i in range(n):
d += [i]
print("time4 :", time.time() - start)
del d
n=10**5 (2>3>1>4)
- time1 : 0.006000518798828125
- time2 : 0.0030143260955810547
- time3 : 0.004019498825073242
- time4 : 0.007027149200439453
n=10**6 (3>1>2>4)
- time1 : 0.053195953369140625
- time2 : 0.057071685791015625
- time3 : 0.04083251953125
- time4 : 0.07809948921203613
n=10**8 (3>2>1>4)
- time1 : 6.139295339584351
- time2 : 5.541903257369995
- time3 : 4.38070273399353
- time4 : 8.300410509109497
'py' 카테고리의 다른 글
**kwargs, funtion(input) (0) | 2023.11.13 |
---|---|
.py SpeechRecognition 3.10.0 import에러 (0) | 2023.05.23 |
.py dictionary , sorted (0) | 2023.04.21 |
.py Truthy&Falsy (if type) (0) | 2023.04.05 |
.py try문과 class-object와 funtion 사이에 일어나는 일(실험실) (0) | 2023.04.04 |