Tuples are immutable sequences in Python, which means that once created, their elements cannot be changed. However, there are ways to add new elements to an existing tuple by creating a new tuple that combines the original tuple with the new elements. In this tutorial, I will explain how to append elements to a tuple in Python.
The Problem: Appending to a Tuple
Let’s say you have a tuple of U.S. states:
states = ("California", "Texas", "Florida")Now, you want to add a new state, such as “New York”, to this tuple. If you try to use the append() method like you would with a list, you’ll get an error:
states.append("New York") # Raises AttributeError: 'tuple' object has no attribute 'append'You can see the exact error message in the screenshot below:

This is because tuples are immutable and do not have an append() method. So, how can you add elements to a tuple?
Check out How to Get the First Element of a Tuple in Python?
Solution 1: Concatenating Tuples
One way to add elements to a tuple is by creating a new tuple that concatenates the original tuple with a tuple containing the new elements. You can use the + operator to concatenate tuples. Here’s an example:
states = ("California", "Texas", "Florida")
new_state = ("New York",)
updated_states = states + new_state
print(updated_states) # Output: ('California', 'Texas', 'Florida', 'New York')In this example, we create a new tuple new_state containing the element we want to add. Then, we concatenate states with new_state using the + operator, which creates a new tuple updated_states that includes all the elements from both tuples.
Note that when creating a tuple with a single element, you need to include a comma after the element, like ("New York",), to differentiate it from a string in parentheses.
Here is the exact output in the screenshot below:

Read How to Return a Tuple in Python?
Solution 2: Converting to a List and Back
Another approach to add elements to a tuple is to convert it to a list, append the new elements to the list, and then convert it back to a tuple. Here’s how you can do it:
states = ("California", "Texas", "Florida")
states_list = list(states)
states_list.append("New York")
updated_states = tuple(states_list)
print(updated_states) # Output: ('California', 'Texas', 'Florida', 'New York')In this example, we first convert the states tuple to a list using the list() function. Then, we can use the append() method to add the new element “New York” to the list. Finally, we convert the list back to a tuple using the tuple() function, and we have the updated tuple updated_states.
Solution 3: Using the += Operator
Python provides a shorthand way to concatenate tuples using the += operator. It allows you to add elements to a tuple in a concise manner. Here’s an example:
states = ("California", "Texas", "Florida")
states += ("New York",)
print(states) # Output: ('California', 'Texas', 'Florida', 'New York')In this example, we use the += operator to concatenate the states tuple with a new tuple containing the element “New York”. The += operator creates a new tuple that combines the elements from both tuples and assigns it back to the states variable.
Read How to Sort by the Second Element in a Tuple in Python?
Append Multiple Elements to a Python Tuple
If you want to append multiple elements to a tuple, you can include them as separate elements in the tuple you’re concatenating. Here’s an example:
states = ("California", "Texas", "Florida")
new_states = ("New York", "Illinois", "Pennsylvania")
updated_states = states + new_states
print(updated_states) # Output: ('California', 'Texas', 'Florida', 'New York', 'Illinois', 'Pennsylvania')In this example, we have a tuple new_states containing multiple elements that we want to append to the states tuple. We concatenate states with new_states using the + operator, and the resulting updated_states tuple includes all the elements from both tuples.
Here is the exact output in the screenshot below:

Append Tuples to a Set in Python
If you have a set of tuples and want to append a new tuple to the set, you can use the add() method. Here’s an example:
cities = {("New York", "NY"), ("Los Angeles", "CA"), ("Chicago", "IL")}
cities.add(("Houston", "TX"))
print(cities) # Output: {('New York', 'NY'), ('Los Angeles', 'CA'), ('Chicago', 'IL'), ('Houston', 'TX')}In this example, we have a set cities containing tuples of city names and their corresponding state abbreviations. To add a new tuple ("Houston", "TX") to the set, we use the add() method. The add() method adds the new tuple to the set.
Conclusion
In this tutorial, we explored different ways to append elements to a tuple in Python. Although tuples are immutable, you can create new tuples by concatenating existing tuples with new elements using the + operator or the += operator. You can also convert a tuple to a list, append elements to the list, and then convert it back to a tuple. Additionally, we saw how to append tuples to a set using the add() method.
I hope this tutorial helps you to learn how to append elements to a tuple in Python with these real examples.
You may also like:
- How to Sort a Tuple in Python?
- How to Split a Tuple in Python?
- How to Reverse a Tuple in Python?
- How to Iterate Through Tuples in Python?

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.