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)