В этой статье мы рассмотрим из-за чего возникает ошибка TypeError: String Indices Must be Integers и как ее исправить в Python.
Введение
В Python мы уже обсудили множество концепций и преобразований. В этом руководстве обсудим концепцию строковых индексов, которые должны быть всегда целыми числами. Как знаем в Python, доступ к итеративным объектам осуществляется с помощью числовых значений. Если мы попытаемся получить доступ к итерируемому объекту, используя строковое значение, будет возвращена ошибка. Эта ошибка будет выглядеть как TypeError: String Indices Must be Integers.
Что такое строковые индексы?
Строки — это упорядоченные последовательности символьных данных. Строковые индексы используются для доступа к отдельному символу из строки путем непосредственного использования числовых значений. Индекс строки начинается с 0, то есть первый символ строки имеет индекс 0 и так далее.
Индексы строки должны быть целыми числами
В python, когда мы видим какие-либо итерируемые объекты, они индексируются с помощью чисел. Если мы попытаемся получить доступ к итерируемому объекту с помощью строки, возвращается ошибка. Сообщение об ошибке — «TypeError: строковые индексы должны быть целыми числами».
Все символы, присутствующие в строках, имеют свой уникальный индекс. Индекс используется для указания позиции каждого символа в строке. Но все индексы должны быть целыми числами, поскольку мы не можем запомнить позицию с помощью символа, значения с плавающей запятой и так далее.
Примеры, демонстрирующие ошибку
Здесь мы обсудим все примеры, которые покажут вам ошибку в вашей программе, поскольку строковые индексы должны быть целыми числами:
Использование индексов в виде строки
В этом примере будем использовать строку в переменной line. Затем мы попытаемся получить доступ к конкретному индексу строки с помощью строкового символа в качестве индекса, а затем посмотрим результат.
Давайте посмотрим на пример для детального понимания концепции.
line = "Тестовая строка" string = line["е"] print(string)
Вывод программы:
Traceback (most recent call last): File "D:\Project\TEST\p.py", line 3, in <module> string = line["е"] TypeError: string indices must be integers
Объяснение:
- Мы использовали входную строку в переменной line
- Затем мы взяли переменную string, в которую мы передали значение индекса в виде строкового символа.
- Наконец, мы распечатали результат.
- Следовательно, вы можете увидеть ошибку TypeError: String Indices Must be Integers, что означает, что вы не можете получить доступ к строковому индексу с помощью символа.
Использование индексов в виде числа с плавающей запятой
В этом примере мы возьмем входную строку. А затем попробуйте получить доступ к строке с помощью значения с плавающей запятой в качестве их индекса. Затем мы увидим результат.
Давайте посмотрим на пример для детального понимания концепции.
line = "Тестовая строка" string = line[1.6] print(string)
Вывод программы:
Traceback (most recent call last): File "D:\Project\TEST\p.py", line 3, in <module> string = line[1.6] TypeError: string indices must be integers
Объяснение:
- Во-первых, мы взяли входную строку.
- Затем мы взяли переменную string, в которую мы передали значение индекса как число с плавающей запятой в диапазоне строки.
- Наконец, мы распечатали результат.
- Следовательно, вы можете увидеть «TypeError: строковые индексы должны быть целыми числами», что означает, что вы не можете получить доступ к строковому индексу с помощью числа с плавающей запятой
Решение для строковых индексов
Единственное решение для этого типа ошибки: «Строковые индексы должны быть целыми числами» — это передать значение индекса как целочисленное значение. Поскольку доступ к итерируемому объекту можно получить только с помощью целочисленного значения. Давайте посмотрим на пример для детального понимания концепции.
line = "Тестовая строка" string = line[3] print(string)
Вывод программы:
т
Объяснение:
- Во-первых, мы взяли входную строку.
- Затем мы взяли переменную, в которую мы передали значение индекса как целое число в диапазоне строки.
- Наконец, мы распечатали результат.
- Следовательно, вы можете увидеть вывод буквы «т», поскольку 3-й символ строки — «т».
Заключение
В этом руководстве мы узнали о концепции «TypeError: строковые индексы должны быть целыми числами». Мы видели, что такое строковые индексы? Также мы увидели, почему строковые индексы должны быть целыми числами. Мы объяснили этот тип ошибки с помощью всех примеров и дали код решения для ошибки. Все ошибки подробно объясняются с помощью примеров. Вы можете использовать любую из функций по вашему выбору и вашим требованиям в программе.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
ок
Как раз в тему статья-программированием занимаюсь.
успехов!