Skip to content

TypeError: list indices must be integers or slices, not str

It is a very critical error and comes most of the time while doing the programming of Python. Why does the list indices must be integers or slices, not str occur in the very first place, and how you can get rid of it.

let’s start and solve this error forever

TypeError list indices must be integers or slices, not str

Here each element has a unique position in a list of Python this position is defined by an index remember that these indexes are always defined using integers.

You must declare a variable that keeps the index value of a list element. Although this has integer values in a list of Python then good job if not have integer values and instead has a string value, then you will have to face this error always.

I hope that you understood if you want to avoid this error So, please make sure that always put integer value in a list of Python.

For more description Follow the below code I am using fruits name into a list the list name is list_1 and make a variable that is index see the code:


# Declare a list
list_1 = ['Blueberries','Dragon fruit', 'Pineapple']

# Declare a index variable
index = 2

print('Value at List Index 2', list_1[index])

list indices must be integers or slices, not str

Please avoid using the commas in Declare a index variable if you give the commas you will face the error which we don’t like so, see below examples with commas.


# Declare a list
list_1 = ['Blueberries','Dragon fruit', 'Pineapple']

# Declare a index variable
index = '2'

print('Value at List Index 1', list_1[index])

list indices must be integers or slices, not str

How to solve TypeError: list indices must be integers or slices, not str using while loop Python

Whenever you use a python while with a list and getting this error then just focus on the passing line because many people did this mistake and lose more time to solve it.

See the code vary carefully and do notice what we are doing we are just passing f values not variables.


 # Inilised a list 
list1 = ['Greeting', 'Is', 'this','Post', 'helpful']

# Inilised variable i as 0
f = 0

# Inilised empty string
variable = ''

# Run While loop to list length
while f < len(list1):
    # Joint each value of list to final string
    variable = variable + ' ' + list1[f]
    f += 1

# Print final Output
print(variable)

must be integers or slices, not str

Also Read: TypeError: Must be str, not tuple in Python

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *