python – TypeError: can only concatenate list (not “str”) to list

python – TypeError: can only concatenate list (not “str”) to list

I think what you want to do is add a new item to your list, so you have change the line newinv=inventory+str(add) with this one:

newinv = inventory.append(add)

What you are doing now is trying to concatenate a list with a string which is an invalid operation in Python.

However I think what you want is to add and delete items from a list, in that case your if/else block should be:

if selection=="use":
    print(inventory)
    remove=input("What do you want to use? ")
    inventory.remove(remove)
    print(inventory)

elif selection=="pickup":
    print(inventory)
    add=input("What do you want to pickup? ")
    inventory.append(add)
    print(inventory)

You don’t need to build a new inventory list every time you add a new item.

That’s not how to add an item to a string. This:

newinv=inventory+str(add)

Means you’re trying to concatenate a list and a string. To add an item to a list, use the list.append() method.

inventory.append(add) #adds a new item to inventory
print(inventory) #prints the new inventory

Hope this helps!

python – TypeError: can only concatenate list (not “str”) to list

You can use:

newinv=inventory+[add]

but using append is better since it doesn’t create a new list:

inventory.append(add)

Leave a Reply

Your email address will not be published.