How to Create a Tuple in Python

  • google plus

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.

Take our Introduction to Python Training course for free.

See the Course Outline and Register


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.

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, XML, Windows, Java, Adobe, HTML5, JavaScript, Angular, and much more. Check out our complete course catalog.



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.