Python의 리스트 인덱싱은 생각보다 비용이 비싸다

변수가 많으면 리스트로 변수 수를 줄여서 인덱싱하여 각 원소에 접근하는데, 이 비용이 생각보다 비싸다.

 

몇번 반복 안하면 무시할정도긴 해도 수천만번, 수억번이상 반복하면 이 비용을 무시할 수 없을정도로 커진다

 

변수가 3개 필요한 경우 리스트를 이용해서 길이가 3인 리스트를 만들고 다음과 같은 코드를 작성하였다.

 

import time

s = time.time()

for _ in range(40320):
    
    b = [0,0,0]

    score = 0

    for _ in range(50):
        
        b[0] = 1
        b[1] = 1
        b[2] = 1

        for _ in range(120):

            score += (b[0]+b[1]+b[2])
            b[0] = 0
            b[1] = 0
            b[2] = 0


e = time.time()

print(e-s)

 

 

 

 

 

이번엔 b = [0,0,0]을 b1,b2,b3로 바꿔서 해보면

 

 

import time

s = time.time()

for _ in range(40320):
    
    b1 = 0
    b2 = 0
    b3 = 0

    score = 0

    for _ in range(50):
        
        b1 = 1
        b2 = 1
        b3 = 1

        for _ in range(120):
            
            score += (b1+b2+b3)
            b1 = 0
            b2 = 0
            b3 = 0


e = time.time()

print(e-s)

 

 

 

 

 

 

한 10초정도 차이나는듯?

 

chatGPT피셜 리스트 인덱싱 비용에 어느정도 비용이 있다고 설명함

 

 

 

 

728x90