In this tutorial, I will explain how to create a Python tuple with a single element. Tuples are a fundamental data structure in Python used to store ordered, immutable collections of elements. While creating tuples with multiple elements is easy, creating a tuple with just one element can be a bit tricky. Let me show you the details and show you how to define a singleton tuple in Python properly.
Single Element Tuples in Python
When I first encountered the need to create a tuple with only one item, I assumed it would be as simple as enclosing the element in parentheses. However, I quickly realized that this approach doesn’t work as expected. Let’s take a look at an example:
my_tuple = (42)
print(type(my_tuple)) # Output: <class 'int'>To my surprise, the output revealed that my_tuple is not a tuple but an integer. This is because parentheses alone are not sufficient to define a single-element tuple. In Python, parentheses are also used to group expressions and define operator precedence.
Check out Convert a Tuple to a String in Python
Create a Python Tuple with One Element
To create a tuple with only one element in Python, you need to add a comma after the item. The comma is the key to distinguishing a single-element tuple from a simple value enclosed in parentheses. Let’s modify our previous example:
my_tuple = (42,)
print(type(my_tuple)) # Output: <class 'tuple'>Now, the output confirms that my_tuple is indeed a tuple. The comma after the element signals to Python that we intend to create a tuple, even if it contains only one item.
Example
Imagine you’re working on a project that involves processing data about US states. You have a function that expects a tuple of state names as input. However, in some cases, you may need to pass only a single state name. Here’s how you can handle this situation:
def process_states(states):
for state in states:
print(f"Processing state: {state}")
# Passing a single state as a tuple
single_state = ("California",)
process_states(single_state)In this example, we define a tuple single_state containing only one element, “California”. By including the comma after the element, we ensure that it is treated as a tuple, even though it has just one item. This allows us to pass it to the process_states function without any issues.
I executed the above code using VS code, and you can see the exact output in the screenshot below:

Check out Concatenate Tuples in Python
Tuple Packing and Unpacking
Tuple packing and unpacking are powerful features in Python that allow you to handle tuples more concisely. Let’s see how they work with single-element tuples.
Tuple Packing
Tuple packing refers to the ability to create a tuple by simply listing comma-separated values. Python automatically packs these values into a tuple. Here’s an example:
my_tuple = 42,
print(type(my_tuple)) # Output: <class 'tuple'>In this case, the comma after the value 42 creates a single-element tuple through tuple packing.
Tuple Unpacking
Tuple unpacking allows you to assign the elements of a tuple to individual variables. It works seamlessly with single-element tuples as well:
my_tuple = ("New York",)
city, = my_tuple
print(city) # Output: "New York"Here, we unpack the single-element tuple my_tuple into the variable city. The comma after city is necessary to indicate tuple unpacking, even for a single element.
Conclusion
In this tutorial, I explained how to create a tuple with a single element in Python by adding a comma after the element. I hope this tutorial has clarified how to create and handle Python tuples with one element. Feel free to practice with the examples provided and experiment with single-element tuples in your own projects.
You may also like:
- Convert a Tuple to JSON in Python
- Convert Tuple to Dict in Python
- Convert Tuple to Int in Python
- How to Check if a Tuple is Empty 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.