индекс списка вне диапазона в попытке / повышении / исключении - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть следующий код:

for i in range(len(str(hoursList))):
    try:
        g(hoursList[i])
    except Exception as ex:
        print(str(nameList[i]) + " " + "has more than 80 hours worked!")

Когда я запускаю код, я получаю сообщение об ошибке «IndexError: список индексов вне диапазона».Мне интересно, потому что у меня есть clockList [i], но когда я вынимаю [i], цикл запускается слишком много раз.Мои nameList и hoursList содержат следующее:

['Майкл Джонсон', 'Сью Джонс', 'Том Спенсер', 'Мэри Харрис', 'Алиса Толберт', 'Джо Суини', 'Линда Смит, Тед Фармер, Рут Томпсон, Боб Бенсен] [8,75, 8,75, 8,75, 8,75, 8,75, 8,75, 11,0, 11,0, 5,25, 5,0]

1 Ответ

0 голосов
/ 05 декабря 2018

Что происходит, когда вы делаете len(str(hoursList)), вы превращаете весь список в строку, затем проходите и возвращаете i для каждого числа, пробела и , новой строки.Например:

len(str(["hello", "world"])) == 18

Но если вы сделаете это:

len(["hello", "world"]) == 2

Поэтому, когда вы находитесь в цикле for i, выв конечном итоге мы просмотрим, сколько записей на самом деле в hoursList.

Измените ваш цикл на:

for i in range(len(hoursList)):
    try:
        g(hoursList[i])
    except Exception as ex:
        print(str(nameList[i]) + " " + "has more than 80 hours worked!")
...