2014-12-29 3 views
-5

조금 혼란 스럽습니다. 20 개 항목의 목록이 있는데, 20 번째 항목을 얻으려고합니다. 하지만Python - IndexError

예를 들어 오류 얻을 :

abc = 'abcdefghijklmnopqrstuvwxyz' 
l = list() 
for n in range(0, 20): 
    l.append(abc[n]) 
print(l[19+1]) 

하지만 난 왜 indexError 누군가가 말해 줄 수거야?

+1

'l [19]'은 마지막 요소이므로 색인 생성은 0부터 시작하여 '20'항목의 색인이 '0'에서 '19'색인으로 이동합니다. –

답변

1

다른 사람들이 지적했듯이 목록 색인은 0으로 시작하여 마지막 요소는 19가됩니다.

이되는 일을 대신 0에서 19의 범위를 받고 고려하는 것이 좋습니다 또 다른 관련 일 대신 이렇게 :

for n in range(len(mylist)): 

Len 함수는 20를 반환하고 20을 공급 때에, 범위의 기능이 돌아갑니다

1

당신은 길이 20과 목록을 만들고있다, 그래서 당신은, 당신은 보조 노트, 당신이하려고하는 일을 할 수있는 쉬운 방법으로는 [19]

주를 통해서만 인덱스 [0]하지 인덱스 요소 [20]입니다 수 수 썰어.

>>> l = abc[0:20] 
>>> l 
'abcdefghijklmnopqrst' 
>>> l[19] 
't' 
+0

지금은 좀 어리 석었습니다. 방금 0을 깨달았습니다. – Michael

관련 문제