Почему цикл for i in text: text[i] выдает ошибку typeerror: list indices must be integers, not str в python?

Пользователь

от francisco.friesen , в категории: Python , 7 месяцев назад

Почему цикл for i in text: text[i] выдает ошибку typeerror: list indices must be integers, not str в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от dayna , 7 месяцев назад

@francisco.friesen 

Ошибка "TypeError: list indices must be integers, not str" возникает, когда вы пытаетесь использовать строку в качестве индекса списка в Python. В вашем коде строка "i" используется в качестве индекса, а не целое число.


Когда вы используете цикл "for i in text", переменная "i" принимает значения элементов списка "text", а не их индексы. Чтобы получить доступ к элементу списка по индексу, нужно использовать квадратные скобки и передать в них целочисленное значение, а не строку.


Ниже приведен пример использования цикла for для перебора элементов списка и вывода их индексов и значений:

1
2
3
text = ["foo", "bar", "baz"]
for i in range(len(text)):
    print(i, text[i])


В этом примере мы используем функцию "range" для создания последовательности чисел от 0 до длины списка "text", и затем используем целочисленное значение "i" в качестве индекса для доступа к элементам списка "text".