What this error means
You tried to use .append() on a string, but strings don't have an append method. Only lists have append(). Strings are immutable—you can't modify them in place.
Common causes
- You confused a string with a list.
- You expected a list but got a string instead.
- You're trying to add to a string but used the wrong method.
Example that causes the error
text = "Hello"
text.append(" World") # AttributeError: strings don't have append()
How to fix it: use + or join for strings
For strings, use concatenation or join():
text = "Hello"
text = text + " World" # OK: creates new string
# Or:
text += " World" # OK: shorthand
# For multiple strings:
parts = ["Hello", "World"]
text = " ".join(parts) # OK: "Hello World"
If you meant to use a list
items = [] # Make it a list
items.append("Hello") # OK: lists have append()
items.append("World")
Check the type
data = some_function()
if isinstance(data, list):
data.append("new item")
elif isinstance(data, str):
data = data + " new text" # Handle string differently