DEV Community

Adam Lombard
Adam Lombard

Posted on • Edited 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)

Collapse
 
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
Collapse
 
miniscruff profile image
miniscruff

I highly recommend using named tuples when grouping.