2016-11-20 3 views
-2
cN = 0 
lN = 0 

while currentCharNo < wordListLength[lN]: 
    WordfromList = wordList[lN] 
    CharList = [] 
    wordChar = WordfromList[cN] 
    CharList.append(wordChar) 
    charOfWordsList = [] 
    cN = cN + 1 
    currentCharNo = currentCharNo + 1 

Я получаю ошибку IndexError: string index out of range для линии wordChar = WordfromList[cN]. Я действительно не понимаю этого, потому что для меня это совершенно правильный синтаксис.Python «IndexError: индекс строки из диапазона»

Спасибо!

+1

не имеет ничего общего с синтаксисом. это просто потому, что 'len (WordfromList)> = cN' –

+0

@ Jean-FrançoisFabre Вы имеете в виду' <= '? –

+0

Я этого не понимаю. Скажем, 'WordfromList =" apple "'. Тогда, поскольку 'cN = 0', не должен' WordfromList [cN'] просто вернуть 'a'? – AKMan6

ответ

0

wordListLength [lN] возвращает длину списка. Скажите, что ваш список состоит из 5 элементов. Итак, wordListLength [lN] = 5 Когда вы индексируете следующую команду, вам нужно начинать с 0. Таким образом, диапазон, который вам нужно использовать, - от 0 до 4, а не от 1 до 5.

+1

'wordListLength [lN] возвращает длину списка.' - нет, это не так. Если вам нужна длина списка, вы должны использовать 'len (the_list)' –

Смежные вопросы