python 리스트 초기화 방법과 차이

Min-Ho Lee·2020년 10월 23일
0

Learn Python

목록 보기
21/22

Fri_Oct_23
.
.
.
갑자기 파이썬 리스트의 clear 메소드가 왜 있는지 궁금했다.

파이썬에서 리스트를 초기화 하는 방법은 그냥

name_of_list = []

이라고 해주면 된다.

그런데 clear()이라는 메소드도 존재한다.

name_of_list.clear()

라고 하면 끝이다.

이유 없이 궁금해서 테스트를 해보았다.

크기가 같은 요소 9개가 담긴 리스트를 만들고 초기화하고 이렇게 2가지 방법을 각 각 100만 번을 진행하였다.

import time

count = 1
while count < 11:

    # 일반적인 초기화 방법
    start_time = time.time()
    for i in range(1000000):
        name_of_list = [1,2,3,4,5,6,7,8,9]
        name_of_list = []
    end_time = time.time()
    print('name_of_list = [] 로 시간 측정  =   ', end_time - start_time)

    # clear 메소드를 통한 초기화 방법
    start_time = time.time()
    for i in range(1000000):
        name_of_list = [1,2,3,4,5,6,7,8,9]
        name_of_list.clear()
    end_time = time.time()
    print('name_of_list.clear() 로 시간 측정  = ', end_time - start_time)

    count += 1
    print('##########')

결과는 다음과 같다.

name_of_list = [] 로 시간 측정  =    0.22995686531066895
name_of_list.clear() 로 시간 측정  =  0.3112528324127197
##########
name_of_list = [] 로 시간 측정  =    0.2506110668182373
name_of_list.clear() 로 시간 측정  =  0.28780603408813477
##########
name_of_list = [] 로 시간 측정  =    0.2128009796142578
name_of_list.clear() 로 시간 측정  =  0.2596268653869629
##########
name_of_list = [] 로 시간 측정  =    0.20771312713623047
name_of_list.clear() 로 시간 측정  =  0.4477219581604004
##########
name_of_list = [] 로 시간 측정  =    0.2229311466217041
name_of_list.clear() 로 시간 측정  =  0.27841901779174805
##########
name_of_list = [] 로 시간 측정  =    0.22823810577392578
name_of_list.clear() 로 시간 측정  =  0.26341700553894043
##########
name_of_list = [] 로 시간 측정  =    0.41693615913391113
name_of_list.clear() 로 시간 측정  =  0.2743232250213623
##########
name_of_list = [] 로 시간 측정  =    0.42478418350219727
name_of_list.clear() 로 시간 측정  =  0.3290998935699463
##########
name_of_list = [] 로 시간 측정  =    0.3297231197357178
name_of_list.clear() 로 시간 측정  =  0.4470250606536865
##########
name_of_list = [] 로 시간 측정  =    0.315579891204834
name_of_list.clear() 로 시간 측정  =  0.42251014709472656
##########

이렇게 테스트를 해야 하는건지 잘 모르겠지만 아무튼 대부분 비슷했고 굳이 따지자면
그냥 일반적인 name_of_list = []의 방법으로 초기화를 하는 것이 아주 조금 더 빠른 것 같다.

시간과 메모리의 효율을 잘 조절해야하는 알고리즘(코테)에서는 그냥 일반적인 방법으로 초기화를 하는 것이 더 좋은 것 같다.

결론 : 그래서 clear 메소드는 왜 있는 것일까? ㅋㅋㅋ

profile
🐇 Rabbit can take a rest, but 🐢 turtle can't

0개의 댓글