Python indexerror: список индекса вне допустимого диапазона Решение

IndexErrors - –æ–¥–∏–Ω –∏–∑ –Ω–∞–∏–±–æ–ª–µ–µ —Ä–∞—Å–ø—Ä–æ—Å—Ç—Ä–∞–Ω–µ–Ω–Ω—ã—Ö —Ç–∏–ø–æ–≤ –æ—à–∏–±–æ–∫ –≤—Ä–µ–º–µ–Ω–∏ –≤—ã–ø–æ–ª–Ω–µ–Ω–∏—è –≤ Python. –û–Ω–∏ –≤–æ–∑–Ω–∏–∫–∞—é—Ç, –∫–æ–≥–¥–∞ –≤—ã –ø—ã—Ç–∞–µ—Ç–µ—Å—å –ø–æ–ª—É—á–∏—Ç—å –¥–æ—Å—Ç—É–ø –∫ –∑–Ω–∞—á–µ–Ω–∏—é –∏–Ω–¥–µ–∫—Å–∞ –≤ –Ω–µ—Å—É—â–µ—Å—Ç–≤—É—é—â–µ–º —Å–ø–∏—Å–∫–µ Python . –í –±–æ–ª—å—à–∏–Ω—Å—Ç–≤–µ —Å–ª—É—á–∞–µ–≤ –æ—à–∏–±–∫–∏ –∏–Ω–¥–µ–∫—Å–∞ –ª–µ–≥–∫–æ —É—Å—Ç—Ä–∞–Ω–∏—Ç—å. –í–∞–º –ø—Ä–æ—Å—Ç–æ –Ω—É–∂–Ω–æ –Ω–µ–º–Ω–æ–≥–æ –æ—Ç–ª–∞–¥–∏—Ç—å.

–í —ç—Ç–æ–º —Ä—É–∫–æ–≤–æ–¥—Å—Ç–≤–µ –º—ã —Å–æ–±–∏—Ä–∞–µ–º—Å—è –ø–æ–≥–æ–≤–æ—Ä–∏—Ç—å –æ–± –æ—à–∏–±–∫–µ " indexerror: —Å–ø–∏—Å–æ–∫ –∏–Ω–¥–µ–∫—Å–∞ –≤–Ω–µ –¥–æ–ø—É—Å—Ç–∏–º–æ–≥–æ –¥–∏–∞–ø–∞–∑–æ–Ω–∞ " –æ—à–∏–±–∫–∞. –ú—ã –æ–±—Å—É–¥–∏–º, –∫–∞–∫ —ç—Ç–æ —Ä–∞–±–æ—Ç–∞–µ—Ç, –∏ —Ä–∞—Å—Å–º–æ—Ç—Ä–∏–º –ø—Ä–∏–º–µ—Ä —Å—Ü–µ–Ω–∞—Ä–∏—è, –≤ –∫–æ—Ç–æ—Ä–æ–º –ø—Ä–∏—Å—É—Ç—Å—Ç–≤—É–µ—Ç —ç—Ç–∞ –æ—à–∏–±–∫–∞, —á—Ç–æ–±—ã –º—ã –º–æ–≥–ª–∏ –µ–µ —Ä–µ—à–∏—Ç—å.

–ü—Ä–æ–±–ª–µ–º–∞: indexerror: –≤—ã–≤–µ—Å—Ç–∏ –∏–Ω–¥–µ–∫—Å –≤–Ω–µ –¥–æ–ø—É—Å—Ç–∏–º–æ–≥–æ –¥–∏–∞–ø–∞–∑–æ–Ω–∞

–ö–∞–∫ –≤—Å–µ–≥–¥–∞ –ª—É—á—à–µ –≤—Å–µ–≥–æ –Ω–∞—á–∞—Ç—å —Å —á—Ç–µ–Ω–∏—è –∏ —Ä–∞–∑–±–∏–≤–∫–∏ –Ω–∞—à–µ–≥–æ —Å–æ–æ–±—â–µ–Ω–∏—è –æ–± –æ—à–∏–±–∫–µ: & nbsp;

–≠—Ç–æ —Å–æ–æ–±—â–µ–Ω–∏–µ –æ–± –æ—à–∏–±–∫–µ —Å–æ–æ–±—â–∞–µ—Ç –Ω–∞–º, —á—Ç–æ –º—ã –ø—ã—Ç–∞–µ–º—Å—è –ø–æ–ª—É—á–∏—Ç—å –¥–æ—Å—Ç—É–ø –∫ –∑–Ω–∞—á–µ–Ω–∏—é –≤–Ω—É—Ç—Ä–∏ –º–∞—Å—Å–∏–≤–∞, –Ω–µ –∏–º–µ—é—â–µ–º—É –ø–æ–∑–∏—Ü–∏–∏ –∏–Ω–¥–µ–∫—Å–∞.

–í Python –Ω–æ–º–µ—Ä–∞ –∏–Ω–¥–µ–∫—Å–æ–≤ –Ω–∞—á–∏–Ω–∞—é—Ç—Å—è —Å 0 . –í–æ—Ç —Ç–∏–ø–∏—á–Ω—ã–π –º–∞—Å—Å–∏–≤ Python:

–≠—Ç–æ—Ç –º–∞—Å—Å–∏–≤ —Å–æ–¥–µ—Ä–∂–∏—Ç —Ç—Ä–∏ –∑–Ω–∞—á–µ–Ω–∏—è. –ü–µ—Ä–≤—ã–π —ç–ª–µ–º–µ–Ω—Ç —Å–ø–∏—Å–∫–∞, Java, –∏–º–µ–µ—Ç –∑–Ω–∞—á–µ–Ω–∏–µ –∏–Ω–¥–µ–∫—Å–∞ 0. –ö–∞–∂–¥–æ–µ –ø–æ—Å–ª–µ–¥—É—é—â–µ–µ –∑–Ω–∞—á–µ–Ω–∏–µ –∏–º–µ–µ—Ç –Ω–æ–º–µ—Ä –∏–Ω–¥–µ–∫—Å–∞ –Ω–∞ 1 –±–æ–ª—å—à–µ –ø–æ—Å–ª–µ–¥–Ω–µ–≥–æ. –ù–∞–ø—Ä–∏–º–µ—Ä, –∑–Ω–∞—á–µ–Ω–∏–µ –∏–Ω–¥–µ–∫—Å–∞ Python —Ä–∞–≤–Ω–æ 1.

–ï—Å–ª–∏ –º—ã –ø–æ–ø—ã—Ç–∞–µ–º—Å—è –ø–æ–ª—É—á–∏—Ç—å –¥–æ—Å—Ç—É–ø –∫ —ç–ª–µ–º–µ–Ω—Ç—É –≤ –ø–æ–∑–∏—Ü–∏–∏ –∏–Ω–¥–µ–∫—Å–∞ 3, –±—É–¥–µ—Ç –≤–æ–∑–≤—Ä–∞—â–µ–Ω–∞ –æ—à–∏–±–∫–∞. –ü–æ—Å–ª–µ–¥–Ω–∏–π —ç–ª–µ–º–µ–Ω—Ç –≤ –Ω–∞—à–µ–º –º–∞—Å—Å–∏–≤–µ –∏–º–µ–µ—Ç –∑–Ω–∞—á–µ–Ω–∏–µ –∏–Ω–¥–µ–∫—Å–∞ 2.

–ü—Ä–∏–º–µ—Ä—ã —Å—Ü–µ–Ω–∞—Ä–∏–µ–≤ (–∏ —Ä–µ—à–µ–Ω–∏–π)

–ï—Å—Ç—å –¥–≤–∞ —Ä–∞—Å–ø—Ä–æ—Å—Ç—Ä–∞–Ω–µ–Ω–Ω—ã—Ö —Å—Ü–µ–Ω–∞—Ä–∏—è, –≤ –∫–æ—Ç–æ—Ä—ã—Ö " –∏–Ω–¥–µ–∫—Å —Å–ø–∏—Å–∫–∞ –≤–Ω–µ –¥–∏–∞–ø–∞–∑–æ–Ω–∞ " –≤–æ–∑–Ω–∏–∫–∞–µ—Ç –æ—à–∏–±–∫–∞:

81% —É—á–∞—Å—Ç–Ω–∏–∫–æ–≤ –∑–∞—è–≤–∏–ª–∏, —á—Ç–æ –æ–Ω–∏ –ø–æ—á—É–≤—Å—Ç–≤–æ–≤–∞–ª–∏ —Å–µ–±—è –±–æ–ª–µ–µ —É–≤–µ—Ä–µ–Ω–Ω—ã–º–∏ –≤ —Å–≤–æ–∏—Ö –ø–µ—Ä—Å–ø–µ–∫—Ç–∏–≤–∞—Ö —Ç—Ä—É–¥–æ—É—Å—Ç—Ä–æ–π—Å—Ç–≤–∞ –≤ —Å—Ñ–µ—Ä–µ –≤—ã—Å–æ–∫–∏—Ö —Ç–µ—Ö–Ω–æ–ª–æ–≥–∏–π –ø–æ—Å–ª–µ –ø–æ—Å–µ—â–µ–Ω–∏—è —É—á–µ–±–Ω–æ–≥–æ –ª–∞–≥–µ—Ä—è. –ü–æ–ª—É—á–∏—Ç–µ –ø—Ä–∏–≥–ª–∞—à–µ–Ω–∏–µ –Ω–∞ —É—á–µ–±–Ω—ã–π –∫—É—Ä—Å —Å–µ–≥–æ–¥–Ω—è.

–°—Ä–µ–¥–Ω–∏–π –≤—ã–ø—É—Å–∫–Ω–∏–∫ —É—á–µ–±–Ω–æ–≥–æ –ª–∞–≥–µ—Ä—è –ø–æ—Ç—Ä–∞—Ç–∏–ª –º–µ–Ω–µ–µ —à–µ—Å—Ç–∏ –º–µ—Å—è—Ü–µ–≤ –Ω–∞ –ø–µ—Ä–µ—Ö–æ–¥–Ω—É—é –∫–∞—Ä—å–µ—Ä—É, –æ—Ç –Ω–∞—á–∞–ª–∞ —É—á–µ–±–Ω–æ–≥–æ –ª–∞–≥–µ—Ä—è –¥–æ –ø–æ–∏—Å–∫–∞ —Å–≤–æ–µ–π –ø–µ—Ä–≤–æ–π —Ä–∞–±–æ—Ç—ã.

–î–∞–≤–∞–π—Ç–µ —Ä–∞—Å—Å–º–æ—Ç—Ä–∏–º –∏ —Ç–æ, –∏ –¥—Ä—É–≥–æ–µ. —ç—Ç–∏—Ö —Å—Ü–µ–Ω–∞—Ä–∏–µ–≤.

–°–ø–∏—Å–∫–∏ –∏–Ω–¥–µ–∫—Å–∏—Ä—É—é—Ç—Å—è —Å –Ω—É–ª—è

Следующая программа распечатывает все значения в списке под названием " programming_languages ​​" в оболочку Python:

Сначала мы объявили две переменные. Переменная " programming_languages ​​" хранит список языков, которые мы хотим вывести на консоль. Переменная " count " используется для отслеживания количества значений, которые мы распечатали на консоли.

Затем мы объявили цикл while . Этот цикл выводит значение из " programming_languages ​​" в позиции индекса, хранящейся в " count & rdquo ;. Затем он добавляет 1 к " count " Переменная. Этот цикл продолжается до тех пор, пока не будет установлено значение " count " не больше или равна длине " programming_languages ​​" list.

–î–∞–≤–∞–π—Ç–µ –ø–æ–ø—Ä–æ–±—É–µ–º –∑–∞–ø—É—Å—Ç–∏—Ç—å –Ω–∞—à –∫–æ–¥:

Все значения в нашем списке выводятся на консоль, но возникает ошибка. Проблема в том, что наш цикл продолжается до значения " count " не больше или равна длине " programming_languages ​​& rdquo ;. Это означает, что его последняя итерация будет проверять:

Это значение не существует. Это вызывает IndexError. Чтобы решить эту проблему, мы можем изменить наш оператор с "= на & lt ;. Это гарантирует, что наш список будет повторяться только до значения " count " не меньше длины " programming_languages ​​& rdquo ;. Давайте внесем эту ревизию:

–ù–∞—à –∫–æ–¥ –≤–æ–∑–≤—Ä–∞—â–∞–µ—Ç:

Мы успешно решили ошибку! Наш цикл больше не пытается распечатать программирование_languages ​​[3]. Он останавливается, когда значение " count " равно 3, потому что 3 не меньше длины " programming_languages ​​& rdquo ;.

–ó–∞–±—É–¥—å—Ç–µ –æ–± –∏—Å–ø–æ–ª—å–∑–æ–≤–∞–Ω–∏–∏ range ()

–ö–æ–≥–¥–∞ –≤—ã –ø–æ–≤—Ç–æ—Ä—è–µ—Ç–µ –∏—Ç–µ—Ä–∞—Ü–∏—é –ø–æ —Å–ø–∏—Å–∫—É —á–∏—Å–µ–ª, –ª–µ–≥–∫–æ –∑–∞–±—ã—Ç—å –≤–∫–ª—é—á–∏—Ç—å –æ–ø–µ—Ä–∞—Ç–æ—Ä range () . –ï—Å–ª–∏ –≤—ã –æ–±—Ä–∞—â–∞–µ—Ç–µ—Å—å –∫ —ç–ª–µ–º–µ–Ω—Ç–∞–º –≤ —ç—Ç–æ–º —Å–ø–∏—Å–∫–µ, –º–æ–∂–µ—Ç –≤–æ–∑–Ω–∏–∫–Ω—É—Ç—å –æ—à–∏–±–∫–∞.

–†–∞—Å—Å–º–æ—Ç—Ä–∏–º —Å–ª–µ–¥—É—é—â–∏–π –∫–æ–¥:

–≠—Ç–æ—Ç –∫–æ–¥ –¥–æ–ª–∂–µ–Ω —Ä–∞—Å–ø–µ—á–∞—Ç–∞—Ç—å –≤—Å–µ –∑–Ω–∞—á–µ–Ω–∏—è –≤–Ω—É—Ç—Ä–∏ –º–∞—Å—Å–∏–≤–∞ " age & rdquo ;. –≠—Ç–æ—Ç –º–∞—Å—Å–∏–≤ —Å–æ–¥–µ—Ä–∂–∏—Ç –≤–æ–∑—Ä–∞—Å—Ç —É—á–∞—â–∏—Ö—Å—è —Å—Ä–µ–¥–Ω–µ–≥–æ –∫–ª–∞—Å—Å–∞. –î–∞–≤–∞–π—Ç–µ –∑–∞–ø—É—Å—Ç–∏–º –Ω–∞—à—É –ø—Ä–æ–≥—Ä–∞–º–º—É –∏ –ø–æ—Å–º–æ—Ç—Ä–∏–º, —á—Ç–æ –ø—Ä–æ–∏–∑–æ–π–¥–µ—Ç:

–í–æ–∑–Ω–∏–∫–∞–µ—Ç –æ—à–∏–±–∫–∞ –∏–∑–¥. –î–∞–≤–∞–π—Ç–µ –¥–æ–±–∞–≤–∏–º –≤ –Ω–∞—à —Ü–∏–∫–ª –æ–ø–µ—Ä–∞—Ç–æ—Ä –ø–µ—á–∞—Ç–∏, —á—Ç–æ–±—ã —É–≤–∏–¥–µ—Ç—å –∑–Ω–∞—á–µ–Ω–∏–µ " age " –Ω–∞ –∫–∞–∂–¥–æ–π –∏—Ç–µ—Ä–∞—Ü–∏–∏, —á—Ç–æ–±—ã —É–≤–∏–¥–µ—Ç—å, —á—Ç–æ –ø—Ä–æ–∏–∑–æ—à–ª–æ:

–ù–∞—à –∫–æ–¥ –≤–æ–∑–≤—Ä–∞—â–∞–µ—Ç:

–ü–µ—Ä–≤—ã–π –≤–æ–∑—Ä–∞—Å—Ç, 9, –≤—ã–≤–æ–¥–∏—Ç—Å—è –Ω–∞ –∫–æ–Ω—Å–æ–ª—å. –û–¥–Ω–∞–∫–æ –∑–Ω–∞—á–µ–Ω–∏–µ " age " - —Ñ–∞–∫—Ç–∏—á–µ—Å–∫–æ–µ –∑–Ω–∞—á–µ–Ω–∏–µ –æ—Ç " age & rdquo ;. –≠—Ç–æ –Ω–µ –ø–æ—Ä—è–¥–∫–æ–≤—ã–π –Ω–æ–º–µ—Ä. –ù–∞ " –ø–µ—á–∞—Ç–∏ (–≤–æ–∑—Ä–∞—Å—Ç [–≤–æ–∑—Ä–∞—Å—Ç]) " –í —Å—Ç—Ä–æ–∫–µ –∫–æ–¥–∞ –º—ã –ø—ã—Ç–∞–µ–º—Å—è –ø–æ–ª—É—á–∏—Ç—å –¥–æ—Å—Ç—É–ø –∫ –≤–æ–∑—Ä–∞—Å—Ç—É –ø–æ –µ–≥–æ –ø–æ—Ä—è–¥–∫–æ–≤–æ–º—É –Ω–æ–º–µ—Ä—É.

–ö–æ–≥–¥–∞ –º—ã –∑–∞–ø—É—Å–∫–∞–µ–º –Ω–∞—à –∫–æ–¥, –æ–Ω –ø—Ä–æ–≤–µ—Ä—è–µ—Ç: age [9]. –ó–Ω–∞—á–µ–Ω–∏–µ " age " —Ä–∞–≤–Ω–æ 9 –≤ –ø–µ—Ä–≤–æ–π –∏—Ç–µ—Ä–∞—Ü–∏–∏. –í –Ω–∞—à–µ–º " –≤–æ–∑—Ä–∞—Å—Ç–∞—Ö " –Ω–µ—Ç —Ç–æ–≤–∞—Ä–æ–≤ list —Å —ç—Ç–∏–º –∑–Ω–∞—á–µ–Ω–∏–µ–º.

–ß—Ç–æ–±—ã —Ä–µ—à–∏—Ç—å —ç—Ç—É –ø—Ä–æ–±–ª–µ–º—É, –º—ã –º–æ–∂–µ–º –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å –æ–ø–µ—Ä–∞—Ç–æ—Ä range () –¥–ª—è –∏—Ç–µ—Ä–∞—Ü–∏–∏ –ø–æ –Ω–∞—à–µ–º—É —Å–ø–∏—Å–∫—É –≤–æ–∑—Ä–∞—Å—Ç–æ–≤:

> —Å–æ–æ—Ç–≤–µ—Ç—Å—Ç–≤—É—é—Ç –º–æ–∏–º —Ü–µ–Ω–Ω–æ—Å—Ç—è–º –∏ —Ü–µ–ª—è–º –≤ –∂–∏–∑–Ω–∏! "

–í–µ–Ω–µ—Ä–∞, –∏–Ω–∂–µ–Ω–µ—Ä-–ø—Ä–æ–≥—Ä–∞–º–º–∏—Å—Ç Rockbot

–í—Å–µ —Ü–µ–Ω–Ω–æ—Å—Ç–∏ –∏–∑ " –≤–æ–∑—Ä–∞—Å—Ç–æ–≤ & rdquo ; –º–∞—Å—Å–∏–≤ –≤—ã–≤–æ–¥—è—Ç—Å—è –Ω–∞ –∫–æ–Ω—Å–æ–ª—å. –û–ø–µ—Ä–∞—Ç–æ—Ä range () —Å–æ–∑–¥–∞–µ—Ç —Å–ø–∏—Å–æ–∫ —á–∏—Å–µ–ª –≤ –æ–ø—Ä–µ–¥–µ–ª–µ–Ω–Ω–æ–º –¥–∏–∞–ø–∞–∑–æ–Ω–µ. –í —ç—Ç–æ–º —Å–ª—É—á–∞–µ —Å–æ–∑–¥–∞–µ—Ç—Å—è –¥–∏–∞–ø–∞–∑–æ–Ω [0, 1, 2]. –≠—Ç–∏ —á–∏—Å–ª–∞ –∑–∞—Ç–µ–º –º–æ–∂–Ω–æ –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å –¥–ª—è –¥–æ—Å—Ç—É–ø–∞ –∫ –∑–Ω–∞—á–µ–Ω–∏—è–º –≤ " –≤–æ–∑—Ä–∞—Å—Ç–∞—Ö " –ø–æ –∏—Ö –ø–æ—Ä—è–¥–∫–æ–≤–æ–º—É –Ω–æ–º–µ—Ä—É.

–í –∫–∞—á–µ—Å—Ç–≤–µ –∞–ª—å—Ç–µ—Ä–Ω–∞—Ç–∏–≤—ã –º—ã –º–æ–≥–ª–∏ –±—ã –∏—Å–ø–æ–ª—å–∑–æ–≤–∞—Ç—å —Ü–∏–∫–ª " for & hellip; in " –±–µ–∑ –∏—Å–ø–æ–ª—å–∑–æ–≤–∞–Ω–∏—è –∏–Ω–¥–µ–∫—Å–∞—Ü–∏–∏:

–≠—Ç–æ—Ç –∫–æ–¥ –≤–æ–∑–≤—Ä–∞—â–∞–µ—Ç:

–ù–∞—à –∫–æ–¥ –Ω–µ –ø—ã—Ç–∞–µ—Ç—Å—è –ø–æ–ª—É—á–∏—Ç—å –¥–æ—Å—Ç—É–ø –∫ –∫–∞–∫–∏–º-–ª–∏–±–æ –∑–Ω–∞—á–µ–Ω–∏—è–º –ø–æ –∏–Ω–¥–µ–∫—Å—É –∏–∑ –º–∞—Å—Å–∏–≤–∞ " age & rdquo ;. –í–º–µ—Å—Ç–æ —ç—Ç–æ–≥–æ –Ω–∞—à —Ü–∏–∫–ª –ø–µ—Ä–µ–±–∏—Ä–∞–µ—Ç –∫–∞–∂–¥–æ–µ –∑–Ω–∞—á–µ–Ω–∏–µ –≤ –º–∞—Å—Å–∏–≤–µ " age " –∏ –≤—ã–≤–æ–¥–∏—Ç –µ–≥–æ –Ω–∞ –∫–æ–Ω—Å–æ–ª—å.