How to Create a Tuple in Python

Let's start with a lie: Python tuples are created using parentheses, like this:

MAGENTA = (255, 0, 255)

Wait, what??! In Python, tuples are not created with parentheses?

The truth is that tuples are created with commas AND do not require parentheses. You can create a tuple like this:

MAGENTA = 255, 0, 255 #Avoid this

But just because you can doesn't mean you should. It's a better idea to get used to including the parentheses, because sometimes you do need them.

The best way to understand why you should get in the habit of using parentheses when creating tuples is to look at some Python code:

def show_type(obj):

#tuple created w/o parentheses (works but bad practice)
MAGENTA = 255, 0, 255

#When passing a tuple to a function, you need parentheses:
show_type( (255, 0, 255) )

#Passing the tuple w/o parentheses to a function will error
show_type( 255, 0, 255 )

The above code will render the following:

Tuple Demo Output

  1. On line 5, the MAGENTA tuple is created without using parentheses.
  2. By passing MAGENTA to the show_type() function, we see that MAGENTA is indeed a tuple.
  3. On line 9, the tuple (255, 0, 255) (constructed with parentheses) is passed to the show_type() function. This works fine.
  4. On line 12, the tuple (well, not really) 255, 0, 255 (constructed without parentheses) is passed to the show_type() function. In this case, Python passes the values to the show_type() function as three separate arguments. As the function only expects one argument, this results in an error: TypeError: show_type() takes 1 positional argument but 3 were given.

Creating a Single-element Tuple

To create an empty tuple, use an empty set of parentheses:

veggies_my_son_likes = ()

To create a single-element tuple, follow the element with a comma, like this:

pitchers_with_500_wins = ('Cy Young',)

If you do not include the comma, you just get a string as illustrated below:


So, in a nutshell, tuples are created with commas, but you should wrap them in parentheses.

Author: Nat Dunn

Nat Dunn is the founder of Webucator (, a company that has provided training for tens of thousands of students from thousands of organizations. Nat started the company in 2003 to combine his passion for technical training with his business expertise, and to help companies benefit from both. His previous experience was in sales, business and technical training, and management. Nat has an MBA from Harvard Business School and a BA in International Relations from Pomona College.

Follow Nat on Twitter at @natdunn and Webucator at @webucator.

About Webucator

Webucator provides instructor-led training to students throughout the US and Canada. We have trained over 90,000 students from over 16,000 organizations on technologies such as Microsoft ASP.NET, Microsoft Office, Azure, Windows, Java, Adobe, Python, SQL, JavaScript, Angular and much more. Check out our complete course catalog.