DEV Community

Adam Lombard
Adam Lombard

Posted on • Updated on

Python: What is a tuple?

In Python, tuples are immutable data sequences. They are typically used to group related but heterogeneous values.

Say we have several pieces of information—in a variety of data types—that together describe a single work of art:

artist = "Louise Nevelson"
title = "Sky Gate, New York"
media = ["wood", "oil paint"]
completed = 1978
Enter fullscreen mode Exit fullscreen mode

It may be convenient to group these values together. Since the description of an artwork should never change during our program, an immutable tuple suits our needs perfectly:

artwork = (artist, title, media, completed)
Enter fullscreen mode Exit fullscreen mode

Elements in a tuple can be accessed by index:

>>> artwork[0]
'Louise Nevelson'
Enter fullscreen mode Exit fullscreen mode

But, since tuples are immutable, we cannot change elements by index:

>>> art_work[0] = "Ruth Asawa"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
Enter fullscreen mode Exit fullscreen mode

For more information on tuples, see the Python docs.

Was this helpful? Did I save you some time?

🫖 Buy Me A Tea! ☕️

Learn more about Louise Nevelson and Ruth Asawa.

Top comments (2)

bezirganyan profile image
Grigor Bezirganyan

Also, One more interesting usage of tuples is that you can use them as a key for dictionaries. (Dictionaries only accept immutable data types as key)

d = {}
d[(obj1, obj2, obj3)] = value
miniscruff profile image

I highly recommend using named tuples when grouping.