Home » How-To » How to Fix “TypeError: ‘type’ object is not subscriptable”

How to Fix “TypeError: ‘type’ object is not subscriptable”

Are you getting a “TypeError: ‘type’ object is not subscriptable” error in Python?

Let’s say that you’re getting an error from this code, “emptylist += str[strlength – 1]”.

If so, the error is caused by this part of the code, “str[strlength – 1]”.

In this guide, you’ll learn how to fix “TypeError: ‘type’ object is not subscriptable” in Python, Pandas, or in a loop.

How to Fix “TypeError: ‘type’ object is not subscriptable”

TypeError: 'type' object is not subscriptable

Before (wrong):

name1 = "tom" # Index values of [0,1,2]
emptylist =[]
strlength = len(name1) # Returns length of three
while strlength > 0:
    emptylist += str[strlength - 1] #Last index value of the variable "name1"
    strlength = strlength - 1
print(emptylist)

Fix: The “str” in “str[strlength – 1]” needs to be replaced with the variable name at the start (“name1”).

Replace “str” with “name1”.

After (correct):

name1 = "tom" # Index values of [0,1,2]
emptylist =[]
strlength = len(name1) # Returns length of three
while strlength > 0:
    emptylist += name1[strlength - 1] #Last index value of the variable "name1"
    strlength = strlength - 1
print(emptylist)

In this scenario, the “str” in “str[strlength – 1]” code is wrong.

The code has a variable called “name1” and “Tom”.

Do note that the length of the string may be 3, but that goes from 1 to 3.

It doesn’t equate to the index but it just creates the length.

In the code, you’re saying that while the string length is greater than 0, do the next two lines.

The “+=” is basically when each time it’s iterating, it’s just adding the variable that it finds into the list.

And the next thing is “str” which has box brackets and not the normal brackets.

However, it’s going back one step because it’s starting at “-1”.

The reason for that is you have to go back one step to bring it back to the index value of two.

And as it loops through this then, it goes back to the index value of 1 and goes back to the index value of 0.

To fix this, you need to replace “str” with the variable name at the start (“name1”).

Further reading

How to Fix “Object of Type ‘int’ has no len()”

How to Fix “python: can’t open file ‘manage.py’: [Errno 2] No such file or directory”

Best Binance Referral ID Code in 2022

About the author

Lim How Wei

Lim How Wei is the founder of followchain.org, with 8+ years of experience in Social Media Marketing and 4+ years of experience as an active investor in stocks and cryptocurrencies. He has researched, tested, and written hundreds of articles ranging from social media platforms to messaging apps.

Lim has been quoted and referenced by major publications and media companies like WikiHow, Fast Company, HuffPost, Vice, New York Post, The Conversation, and many others. One of his articles about the gig economy was quoted by Joe Rogan who hosts The Joe Rogan Experience (arguably the most popular podcast in the world), in the This Past Weekend podcast by Theo Von.

In his free time, Lim plays multiple games like Genshin Impact, League of Legends, Counter-Strike, Hearthstone, RuneScape, and many others. He creates guides, walkthroughs, solutions, and more on games that he plays to help other players with their progression.