TypeError: ‘int’ object is not subscriptable in Python

There are multiple errors that occur in Python when a user tries to perform operations that are not supported by an object or perform operations incorrectly on the object. A “TypeError” occurs when Python performs an operation on a value that does not support the operation. For example, Using the “+” operator between string and integer value for addition raises the TypeError in Python.

Different types of TypeError occur in Python script due to various reasons. One such error, the “int object is not subscriptable” in Python, occurs when the integer value is accessed using the index or the integer value is treated as a list.

This write-up will provide a comprehensive guide on the “int object is not subscriptable” error in Python using the following aspects:

So, let’s get started!

How to Resolve an int object is not subscriptable Error in Python?

Before going to the solution, the first thing is understanding what subscriptable means in Python. The subscriptable means that the object contains another object, such as a list, tuple, string, etc. integer objects are not subscriptable because they do not contain any other object.

To resolve this, the TypeError integer value is converted into a string to make it a subscriptable object. Now, the string value is easily accessed using the index.

Reason 1: Access Integer Using Index

One of the main reasons which invoke the error “int object is not subscriptable” in Python is accessing an integer using a specific index value. The integer or set of numbers is not accessible in Python, unlike a list, string, tuple, etc. the given below snippet shows the errors along with the code:

In the above code, the integer is called using index position, which is not possible in Python.

Solution: Convert Int into String

To fix this error, the integer value must be converted into a string or any other iterable.

Code:

number = '122237'
print(number[4])

In the above code, the integer value is enclosed in quotation marks and called using the index position without any error.

Output:

The above output shows the index value of the string.

Reason 2: Integer as a List

Another reason for this error is treating int objects as a List. In the example code given below, the variable “Student_marks” is assigned to another variable, “obt_marks” using the square bracket that raises the stated error:

The above snippet proves that treating an integer as a list causes the type error.

Solution: Avoid Integer Value as a List

To fix this error, an integer value must not be used as a List since it cannot be accessed by indexes.

Code:

Student_name = 'John David'
Student_marks = 450

obt_marks =Student_marks

Final = 1000 - obt_marks
print (Final)

In the above code, the integer value taken from the variable is directly stored in another variable without treating it as a list.

Output:

The above output shows the final value stored in the variable “Final”.

That’s it from this guide!

Conclusion

The “TypeError: int object is not subscriptable“ occurs in Python when the integer value is accessed using the index or the integer value is treated as a list. To fix this error, the integer value must be converted into a string, which can then be accessed using the index value. Moreover, an integer value must not be used as a List since it cannot be accessed using indexes. This article presented various causes and reasons for “TypeError: int object is not subscriptable” in Python with numerous examples.