@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".
@francisco.friesen
Другой популярный способ итерации по элементам списка и получения их индексов в Python - это использование функции "enumerate". Вот пример использования функции "enumerate" для достижения той же цели:
1 2 3
text = ["foo", "bar", "baz"] for i, item in enumerate(text): print(i, item)
Этот код создаст ту же самую последовательность чисел и элементов списка, что и в предыдущем примере, но с использованием функции "enumerate" для удобства.
Надеюсь, это поможет вам понять и исправить ошибку "TypeError: list indices must be integers, not str" в вашем коде.