개발/Python

Python에서 빈 리스트 만들기

MinorMan 2021. 1. 7. 19:39
반응형

<질문>

Python에서 새 빈 목록을 만드는 가장 좋은 방법은 무엇입니까?

l = [] 

또는

l = list()

나는 두 가지 이유로 이것을 묻습니다.


<답변1>

다음은 어떤 코드가 더 빠른지 테스트하는 방법입니다.

% python -mtimeit  "l=[]"
10000000 loops, best of 3: 0.0711 usec per loop

% python -mtimeit  "l=list()"
1000000 loops, best of 3: 0.297 usec per loop

그러나 실제로이 초기화는 프로그램의 극히 작은 부분 일 가능성이 높으므로 이에 대해 걱정하는 것은 잘못된 것입니다.

가독성은 매우 주관적입니다. 나는 선호한다[]하지만 Alex Martelli와 같은 매우 지식이 풍부한 사람들은list()때문에it is pronounceable.


<답변2>

list()본질적으로[], 때문에

대부분의 경우 속도 차이는 실제적인 차이를 만들지 않습니다.


<답변3>

나는 사용한다[].


<답변4>

나는 그것에 대해 정말로 알지 못하지만 경험상 jpcgt가 실제로 옳은 것 같습니다. 다음 예 : 다음 코드를 사용하는 경우

t = [] # implicit instantiation
t = t.append(1)

인터프리터에서 t를 호출하면 목록없이 "t"만 표시됩니다. 다른 것을 추가하면 예를 들어

t = t.append(2)

" 'NoneType'개체에 '추가'속성이 없습니다."라는 오류가 발생합니다. 그러나 목록을 작성하면

t = list() # explicit instantiation

그러면 잘 작동합니다.


<답변5>

@Darkonaut를 강조하기 위해answer더 눈에 띄어 야한다고 생각하기 때문입니다.

new_list = []또는new_list = list()둘 다 괜찮지 만 (성능 무시)append()보고None, 결과적으로 할 수 없습니다.new_list = new_list.append(something).

반응형