How to Create a Tuple in Python

In Brief...

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.

Related Training

Author: Nat Dunn

Nat Dunn founded Webucator in 2003 to combine his passion for web development with his business expertise and to help companies benefit from both.