반응형
<질문>
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)
.
반응형
'개발 > Python' 카테고리의 다른 글
클래스 개체에 대한 사용자 지정 문자열 표현을 만드는 방법은 무엇입니까? (0) | 2021.01.08 |
---|---|
Django의 Meta 클래스는 어떻게 작동합니까? (0) | 2021.01.08 |
파이썬에서 데몬을 어떻게 생성합니까? (0) | 2021.01.07 |
Python에 실행 파일이 있는지 테스트 하시겠습니까? (0) | 2021.01.07 |